@c8y/ngx-components 1021.80.1 → 1021.81.0
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/core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.d.ts +23 -0
- package/core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.d.ts.map +1 -0
- package/core/data-grid/column/tree-node-column/tree-node.data-grid-column.d.ts +23 -0
- package/core/data-grid/column/tree-node-column/tree-node.data-grid-column.d.ts.map +1 -0
- package/core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.d.ts +6 -0
- package/core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.d.ts.map +1 -0
- package/core/data-grid/data-grid.component.d.ts +29 -1
- package/core/data-grid/data-grid.component.d.ts.map +1 -1
- package/core/data-grid/data-grid.model.d.ts +13 -1
- package/core/data-grid/data-grid.model.d.ts.map +1 -1
- package/core/data-grid/grid-data-source.d.ts +11 -2
- package/core/data-grid/grid-data-source.d.ts.map +1 -1
- package/core/data-grid/index.d.ts +4 -1
- package/core/data-grid/index.d.ts.map +1 -1
- package/esm2022/branding/shared/lazy/branding/branding.component.mjs +2 -2
- package/esm2022/context-dashboard/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.mjs +1 -1
- package/esm2022/context-dashboard/dashboard-manager/type-dashboards-list/type-dashboards-list.component.mjs +1 -1
- package/esm2022/core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.mjs +87 -0
- package/esm2022/core/data-grid/column/tree-node-column/tree-node.data-grid-column.mjs +15 -0
- package/esm2022/core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.mjs +15 -0
- package/esm2022/core/data-grid/configure-custom-column/asset-property-grid.component.mjs +1 -1
- package/esm2022/core/data-grid/data-grid.component.mjs +68 -11
- package/esm2022/core/data-grid/data-grid.model.mjs +1 -1
- package/esm2022/core/data-grid/grid-data-source.mjs +92 -22
- package/esm2022/core/data-grid/index.mjs +5 -2
- package/esm2022/device-grid/device-grid.component.mjs +1 -1
- package/esm2022/device-profile/device-profile-list.component.mjs +1 -1
- package/esm2022/device-provisioned-certificates/device-tab-provisioned-certificates.component.mjs +1 -1
- package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +1 -1
- package/esm2022/files-repository/files-repository.component.mjs +1 -1
- package/esm2022/messaging-management/messaging/topic/topic-list-view.component.mjs +2 -2
- package/esm2022/messaging-management/messaging/topic/topic-subscribers-view/topic-subscribers-view.component.mjs +2 -2
- package/esm2022/operations/bulk-single-operations-list/single-operations-list.component.mjs +2 -2
- package/esm2022/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.mjs +2 -2
- package/esm2022/repository/configuration/list/configuration-list.component.mjs +1 -1
- package/esm2022/repository/firmware/list/firmware-list.component.mjs +1 -1
- package/esm2022/repository/software/list/software-list.component.mjs +1 -1
- package/esm2022/search/search-grid.component.mjs +1 -1
- package/esm2022/services/services-device-tab/services-device-tab.component.mjs +1 -1
- package/esm2022/sub-assets/sub-assets-grid.component.mjs +1 -1
- package/esm2022/tenants/tenant-list/tenant-list.component.mjs +1 -1
- package/esm2022/translation-editor/lazy/translation-editor/translation-editor.component.mjs +2 -2
- package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CmhkghTo.mjs → c8y-ngx-components-asset-property-grid.component-xQgHuomT.mjs} +3 -3
- package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CmhkghTo.mjs.map → c8y-ngx-components-asset-property-grid.component-xQgHuomT.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +1 -1
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
- package/fesm2022/{c8y-ngx-components-c8y-ngx-components-D-YOjLHK.mjs → c8y-ngx-components-c8y-ngx-components-D2rmddmn.mjs} +455 -228
- package/fesm2022/c8y-ngx-components-c8y-ngx-components-D2rmddmn.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +2 -2
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-profile.mjs +1 -1
- package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +1 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-files-repository.mjs +1 -1
- package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-messaging-management.mjs +2 -2
- package/fesm2022/c8y-ngx-components-messaging-management.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs +1 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-search.mjs +1 -1
- package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-services.mjs +1 -1
- package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sub-assets.mjs +1 -1
- package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-tenants.mjs +1 -1
- package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +1 -1
- package/locales/locales.pot +6 -0
- package/package.json +1 -1
- package/fesm2022/c8y-ngx-components-c8y-ngx-components-D-YOjLHK.mjs.map +0 -1
|
@@ -28,4 +28,4 @@ export var BuiltInActionType;
|
|
|
28
28
|
/** Export built-in action. */
|
|
29
29
|
BuiltInActionType["Export"] = "EXPORT";
|
|
30
30
|
})(BuiltInActionType || (BuiltInActionType = {}));
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kYXRhLWdyaWQvZGF0YS1ncmlkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZLQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFFekMsNENBQTRDO0FBQzVDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLDZDQUE2QztJQUM3QyxJQUFJLEVBQUUsQ0FBQztJQUVQLGdEQUFnRDtJQUNoRCxPQUFPLEVBQUUsQ0FBQztJQUVWLG1EQUFtRDtJQUNuRCxZQUFZLEVBQUUsSUFBSTtJQUVsQixrREFBa0Q7SUFDbEQsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQWFGLHlCQUF5QjtBQUN6QixNQUFNLENBQU4sSUFBWSxtQkFNWDtBQU5ELFdBQVksbUJBQW1CO0lBQzdCLDZEQUE2RDtJQUM3RCxtREFBNEIsQ0FBQTtJQUU1Qiw2REFBNkQ7SUFDN0QsbURBQTRCLENBQUE7QUFDOUIsQ0FBQyxFQU5XLG1CQUFtQixLQUFuQixtQkFBbUIsUUFNOUI7QUE2TkQsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBTixJQUFZLGlCQVNYO0FBVEQsV0FBWSxpQkFBaUI7SUFDM0IsNEJBQTRCO0lBQzVCLGtDQUFhLENBQUE7SUFFYiw4QkFBOEI7SUFDOUIsc0NBQWlCLENBQUE7SUFFakIsOEJBQThCO0lBQzlCLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFUVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBUzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV4dGVuc2lvbkZhY3RvcnkgfSBmcm9tICcuLi9jb21tb24vZXh0ZW5zaW9uLWhvb2tzJztcbmltcG9ydCB7IEdyaWRDb25maWdDb250ZXh0IH0gZnJvbSAnLi9kYXRhLWdyaWQtY29uZmlndXJhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBTdXBwb3J0ZWRJY29uc1N1Z2dlc3Rpb25zIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pY29uLXNlbGVjdG9yL2ljb25zJztcblxuLyoqIERlc2NyaWJlcyB0aGUgaW50ZXJmYWNlIG9mIHRoZSBkYXRhIGdyaWQuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFHcmlkIHtcbiAgLyoqIFRoZSBsaXN0IG9mIGNvbHVtbnMuICovXG4gIGNvbHVtbnM6IENvbHVtbltdO1xuXG4gIC8qKiBUaGUgbGlzdCBvZiBpdGVtcy4gKi9cbiAgcm93czogUm93W107XG5cbiAgLyoqIFBhZ2luYXRpb24gb2JqZWN0LiAqL1xuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uO1xuXG4gIC8qKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGZldGNoIHNlcnZlciBkYXRhLiAqL1xuICBzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrOiBTZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrO1xuXG4gIC8qKiBXaGV0aGVyIGl0ZW1zIGFyZSBzZWxlY3RhYmxlLiAqL1xuICBzZWxlY3RhYmxlOiBib29sZWFuO1xuXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgcHJpbWFyeSBrZXkgcHJvcGVydHkuICovXG4gIHNlbGVjdGlvblByaW1hcnlLZXk6IHN0cmluZztcblxuICAvKiogRGF0YSBncmlkIGRpc3BsYXkgb3B0aW9ucy4gKi9cbiAgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb25zO1xuXG4gIC8qKiBJbmRpdmlkdWFsIGFjdGlvbiBjb250cm9scy4gKi9cbiAgYWN0aW9uQ29udHJvbHM6IEFjdGlvbkNvbnRyb2xbXTtcblxuICAvKiogQnVsayBhY3Rpb24gY29udHJvbHMuICovXG4gIGJ1bGtBY3Rpb25Db250cm9sczogQnVsa0FjdGlvbkNvbnRyb2xbXTtcblxuICAvKiogSGVhZGVyIGFjdGlvbiBjb250cm9scy4gKi9cbiAgaGVhZGVyQWN0aW9uQ29udHJvbHM/OiBIZWFkZXJBY3Rpb25Db250cm9sW107XG59XG5cbi8qKiBEZXNjcmliZXMgYSBkYXRhIGdyaWQgY29sdW1uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2x1bW4ge1xuICAvKiogVGhlIG5hbWUgZm9yIHRoZSBjb2x1bW4uICovXG4gIG5hbWU6IHN0cmluZyB8IFNwZWNpYWxDb2x1bW5OYW1lO1xuICAvKiogVGhlIGNvbHVtbidzIGhlYWRlciAoaWYgbm90IGdpdmVuLCBgbmFtZWAgaXMgdXNlZCBieSBkZWZhdWx0KS4gKi9cbiAgaGVhZGVyPzogc3RyaW5nO1xuICAvKiogVGhlIHBhdGggaW4gYSByb3cgaXRlbSB0byByZWFkIHRoZSBjZWxsIHZhbHVlIGZyb20uICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBjb2x1bW4gaXMgZGlzcGxheWVkLiAqL1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBjYW4gYmUgbW92ZWQgdG8gYW5vdGhlciBwb3NpdGlvbi4gKi9cbiAgcG9zaXRpb25GaXhlZD86IGJvb2xlYW47XG4gIC8qKiBNYXJrcyBhIHVzZXIgY29uZmlndXJlZCBjdXN0b20gY29sdW1uICovXG4gIGN1c3RvbT86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBjb2x1bW4gY2FuIGJlIHJlc2l6ZWQuICovXG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gIC8qKiBPcHRpb25hbCB0eXBlIG9mIGRhdGEgaW4gdGhlIGNvbHVtbiAodXNlZCB0byBzZXQgZGF0YS10eXBlIGF0dHJpYnV0ZSwgZS5nLiBmb3IgYWRkaXRpb25hbCBzdHlsaW5nKS4gKi9cbiAgZGF0YVR5cGU/OiBDb2x1bW5EYXRhVHlwZTtcbiAgLyoqIFRoZSBjb2x1bW4ncyBzaXplLCBlLmcuIFwiNDAgcHhcIi4gKi9cbiAgZ3JpZFRyYWNrU2l6ZT86IHN0cmluZztcbiAgLyoqIEFkZGl0aW9uYWwgQ1NTIGNsYXNzZXMgZm9yIHRoZSBoZWFkZXIgY2VsbC4gKi9cbiAgaGVhZGVyQ1NTQ2xhc3NOYW1lPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzc2VzIGZvciBkYXRhIGNlbGxzLiAqL1xuICBjZWxsQ1NTQ2xhc3NOYW1lPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBzb3J0YWJsZS4gKi9cbiAgc29ydGFibGU/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgc29ydCBvcmRlciBpcyBhc2NlbmRpbmcsIGRlc2NlbmRpbmcgb3Igbm90IHNwZWNpZmllZC4gKi9cbiAgc29ydE9yZGVyPzogU29ydE9yZGVyO1xuICBzb3J0aW5nQ29uZmlnPzogQ29sdW1uU29ydGluZ0NvbmZpZztcblxuICAvKiogV2hldGhlciB0aGUgY29sdW1uIGlzIGZpbHRlcmFibGUuICovXG4gIGZpbHRlcmFibGU/OiBib29sZWFuO1xuICAvKiogVGhlIHN0cmluZyB0byBzZWFyY2ggZm9yIG9yIGEgZnVuY3Rpb24gZm9yIGNsaWVudC1zaWRlIGZpbHRlcmluZy4gKi9cbiAgZmlsdGVyUHJlZGljYXRlPzogc3RyaW5nIHwgRmlsdGVyUHJlZGljYXRlRnVuY3Rpb247XG4gIC8qKiBDdXN0b20gZmlsdGVyaW5nIGZvcm0gcmVuZGVyZXIgY2FuIHNldCBhbnkgdmFsdWUgaGVyZSBhbmQgaXQgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYSBxdWVyeSB0byB0aGUgc2VydmVyLiAqL1xuICBleHRlcm5hbEZpbHRlclF1ZXJ5PzogYW55O1xuICBmaWx0ZXJpbmdDb25maWc/OiBGb3JtbHlDb2x1bW5GaWx0ZXJpbmdDb25maWc7XG5cbiAgLyoqIEN1c3RvbSBkYXRhIGNlbGwgcmVuZGVyZXIgY29tcG9uZW50LiBJbmplY3QgYENlbGxSZW5kZXJlckNvbnRleHRgIHRvIGdldCBhY2Nlc3MgdG8gZGF0YSB2YWx1ZSwgaXRlbSBhbmQgY29sdW1uIG9iamVjdC4gKi9cbiAgY2VsbFJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTxhbnk+O1xuICAvKiogQ3VzdG9tIGhlYWRlciBjZWxsIHJlbmRlcmVyIGNvbXBvbmVudC4gSW5qZWN0IGBDZWxsUmVuZGVyZXJDb250ZXh0YCB0byBnZXQgYWNjZXNzIHRvIGhlYWRlciB2YWx1ZSBhbmQgY29sdW1uIG9iamVjdC4gKi9cbiAgaGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTxhbnk+O1xuICAvKiogQ3VzdG9tIGZpbHRlcmluZyBmb3JtIHJlbmRlcmVyIGNvbXBvbmVudC4gSW5qZWN0IGBGaWx0ZXJpbmdGb3JtUmVuZGVyZXJDb250ZXh0YCB0byBnZXQgYWNjZXNzIHRvIGNvbHVtbiBvYmplY3QgYW5kIG1ldGhvZHM6IGFwcGx5RmlsdGVyLCByZXNldEZpbHRlci4gKi9cbiAgZmlsdGVyaW5nRm9ybVJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTxhbnk+O1xufVxuXG4vKiogRGVzY3JpYmVzIGEgY29sdW1uIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkNvbmZpZyB7XG4gIC8qKiBUaGUgbmFtZSBmb3IgdGhlIGNvbHVtbi4gKi9cbiAgbmFtZT86IHN0cmluZztcblxuICAvKiogV2hldGhlciB0aGUgY29sdW1uIGlzIGRpc3BsYXllZC4gKi9cbiAgdmlzaWJsZT86IGJvb2xlYW47XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHNvcnQgb3JkZXIgaXMgYXNjZW5kaW5nLCBkZXNjZW5kaW5nIG9yIG5vdCBzcGVjaWZpZWQuICovXG4gIHNvcnRPcmRlcj86IFNvcnRPcmRlcjtcblxuICAvKiogVGhlIHNldHRpbmdzIG9mIGZpbHRlciBpbiBhIGNvbHVtbi4gKi9cbiAgZmlsdGVyPzogRmlsdGVyO1xufVxuXG4vKiogRGVzY3JpYmVzIGEgY3VzdG9tIGNvbHVtbiBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Db2x1bW5Db25maWcgZXh0ZW5kcyBDb2x1bW5Db25maWcge1xuICAvKiogSlNPTiBwYXRoIHRvIHRoZSBtYW5hZ2VkIG9iamVjdCBwcm9wZXJ0eSB0byBiZSBkaXNwbGF5ZWQgKi9cbiAgcGF0aDogc3RyaW5nO1xuXG4gIC8qKiBDb2x1bW4gaGVhZGVyIHRpdGxlICovXG4gIGhlYWRlcjogc3RyaW5nO1xuXG4gIC8qKiBGbGFnIHRvIGlkZW50aWZ5IGN1c3RvbSBjb2x1bW5zICovXG4gIGN1c3RvbTogYm9vbGVhbjtcbn1cblxuLyoqIERlc2NyaWJlcyB0aGUgc2V0dGluZ3Mgb2YgZmlsdGVyIGluIGEgY29sdW1uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXIge1xuICAvKiogQ3VzdG9tIGZpbHRlcmluZyBmb3JtIHJlbmRlcmVyIGNhbiBzZXQgYW55IHZhbHVlIGhlcmUgYW5kIGl0IGNhbiBiZSB1c2VkIHRvIGJ1aWxkIGEgcXVlcnkgdG8gdGhlIHNlcnZlci4gKi9cbiAgZXh0ZXJuYWxGaWx0ZXJRdWVyeT86IGFueTtcbiAgLyoqIEFuIG9wdGlvbmFsIHByb3BlcnR5IHRoYXQgaG9sZHMgYSBzdHJpbmcgdG8gc2VhcmNoIGZvci4gKi9cbiAgZmlsdGVyUHJlZGljYXRlPzogc3RyaW5nIHwgRmlsdGVyUHJlZGljYXRlRnVuY3Rpb247XG59XG5cbi8qKiBEZXNjcmliZXMgYW4gb2JqZWN0IHdpdGggZGF0YSBncmlkIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRDb25maWcge1xuICAvKiogVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0cyBmb3IgYWxsIHRoZSBjb2x1bW5zLiAqL1xuICBjb2x1bW5zOiBDb2x1bW5Db25maWdbXTtcblxuICAvKiogUGFnaW5hdGlvbiBvYmplY3QuICovXG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb247XG59XG5cbi8qKiAgKi9cbmV4cG9ydCBjb25zdCBlbnVtIFNwZWNpYWxDb2x1bW5OYW1lIHtcbiAgLyoqIENvbHVtbiB3aXRoIGNoZWNrYm94LiAqL1xuICBDaGVja2JveCA9ICdjaGVja2JveCcsXG5cbiAgLyoqIENvbHVtbiB3aXRoIHJhZGlvIGJ1dHRvbi4gKi9cbiAgUmFkaW9CdXR0b24gPSAncmFkaW8tYnV0dG9uJyxcblxuICAvKiogQ29sdW1uIHdpdGggcm93IGFjdGlvbnMuICovXG4gIEFjdGlvbnMgPSAnYWN0aW9ucydcbn1cblxuLyoqICAqL1xuZXhwb3J0IGNvbnN0IGVudW0gQ29sdW1uRGF0YVR5cGUge1xuICAvKiogQ29sdW1uIHdpdGggaWNvbi4gKi9cbiAgSWNvbiA9ICdpY29uJyxcblxuICAvKiogTnVtZXJpYyBjb2x1bW4uICovXG4gIE51bWVyaWMgPSAnbnVtZXJpYycsXG5cbiAgLyoqIENvbHVtbiB3aXRoIHNob3J0IHRleHQuICovXG4gIFRleHRTaG9ydCA9ICd0ZXh0LXNob3J0JyxcblxuICAvKiogQ29sdW1uIHdpdGggbG9uZyB0ZXh0LiAqL1xuICBUZXh0TG9uZyA9ICd0ZXh0LWxvbmcnXG59XG5cbi8qKiBDbGFzc2VzIGZvciBjb2x1bW4gZGF0YSByZWNvcmQuICovXG5leHBvcnQgY29uc3QgZW51bSBDb2x1bW5EYXRhUmVjb3JkQ2xhc3NOYW1lIHtcbiAgLyoqIEFuIGljb24uICovXG4gIEljb24gPSAnZGF0YS1yZWNvcmQtaWNvbicsXG5cbiAgLyoqIEEgaGVhZGVyLiAqL1xuICBIZWFkZXIgPSAnZGF0YS1yZWNvcmQtaGVhZGVyJyxcblxuICAvKiogRGVmYXVsdCAtIGVtcHR5LiAqL1xuICBEZWZhdWx0ID0gJydcbn1cblxuZXhwb3J0IGNvbnN0IG1pbkNvbHVtbkdyaWRUcmFja1NpemUgPSA4MDtcblxuLyoqIE1hcHMgY29sdW1uIHR5cGVzIHRvIHJlbGF0aXZlIHdpZHRocy4gKi9cbmV4cG9ydCBjb25zdCByYXRpb3NCeUNvbHVtblR5cGVzID0ge1xuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3IgaWNvbiBjb2x1bW4gdHlwZS4gKi9cbiAgaWNvbjogMSxcblxuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3IgbnVtZXJpYyBjb2x1bW4gdHlwZS4gKi9cbiAgbnVtZXJpYzogMSxcblxuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3Igc2hvcnQgdGV4dCBjb2x1bW4gdHlwZS4gKi9cbiAgJ3RleHQtc2hvcnQnOiAxLjY3LFxuXG4gIC8qKiBUaGUgd2lkdGggcmF0aW9uIGZvciBsb25nIHRleHQgY29sdW1uIHR5cGUuICovXG4gICd0ZXh0LWxvbmcnOiAzLjMzXG59O1xuXG4vKiogU29ydGluZyBvcmRlcjogYXNjZW5kaW5nLCBkZXNjZW5kaW5nLCBvciBub3Qgc3BlY2lmaWVkLiAqL1xuZXhwb3J0IHR5cGUgU29ydE9yZGVyID0gJ2FzYycgfCAnZGVzYycgfCAnJztcblxuLyoqXG4gKiBBIGZpbHRlciBwcmVkaWNhdGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gaXRlbSBUaGUgY3VycmVudCBpdGVtIHRvIGJlIGNoZWNrZWQuXG4gKiBAcGFyYW0gcGF0aCBUaGUgcHJvcGVydHkgcGF0aCBjb25maWd1cmVkIGluIHRoZSBjdXJyZW50IGNvbHVtbi5cbiAqIEByZXR1cm5zIFRoZSBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgaXRlbSBtYXRjaGVzIGEgY29uZGl0aW9uIG9yIG5vdC5cbiAqL1xuZXhwb3J0IHR5cGUgRmlsdGVyUHJlZGljYXRlRnVuY3Rpb24gPSAoaXRlbTogb2JqZWN0LCBwYXRoOiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbi8qKiBGaWx0ZXJpbmcgYWN0aW9ucy4gKi9cbmV4cG9ydCBlbnVtIEZpbHRlcmluZ0FjdGlvblR5cGUge1xuICAvKiogQWN0aW9uIGludm9rZWQgd2hlbiBmaWx0ZXIgc2V0dGluZ3MgYXJlIHRvIGJlIGFwcGxpZWQuICovXG4gIEFwcGx5RmlsdGVyID0gJ0FQUExZX0ZJTFRFUicsXG5cbiAgLyoqIEFjdGlvbiBpbnZva2VkIHdoZW4gZmlsdGVyIHNldHRpbmdzIGFyZSB0byBiZSBjbGVhcmVkLiAqL1xuICBSZXNldEZpbHRlciA9ICdSRVNFVF9GSUxURVInXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5Q29sdW1uRmlsdGVyaW5nQ29uZmlnIHtcbiAgLyoqIERlZmluZXMgYSBGaWVsZENvbmZpZyBjb25maWd1cmF0aW9uIGZvciBGb3JtbHkuICAqL1xuICBmaWVsZHM/OiBGb3JtbHlGaWVsZENvbmZpZ1tdO1xuICAvKiogRGVmaW5lcyBhIEpTT04gc2NoZW1hIGZvciBmaWx0ZXJpbmcgY29uZmlnIG1vZGVsLiBDYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIGBmaWVsZHNgICovXG4gIHNjaGVtYT86IG9iamVjdDtcbiAgLyoqIERlZmluZXMgYSBtb2RlbCB0aGF0IHdpbGwgYmUgYXBwbGllZCB0byByZW5kZXJlZCBmb3JtLiAqL1xuICBtb2RlbD86IG9iamVjdDtcbiAgLyoqIERlZmluZXMgRm9ybUdyb3VwIGluc3RhbmNlICovXG4gIGZvcm1Hcm91cD86IEZvcm1Hcm91cDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgYSBmaWx0ZXJpbmcgY29uZmlnIG1vZGVsIHRvIGFuIGFycmF5IG9mIHBhcnRpYWwgZmlsdGVyIGNoaXAgb2JqZWN0cy5cbiAgICogQHBhcmFtIG1vZGVsIEFuIG9iamVjdCB3aXRoIGRlZmluZWQgc3RydWN0dXJlIChlLmcuIGJ5IHNjaGVtYSkuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBhcnRpYWwgZmlsdGVyIGNoaXAgb2JqZWN0cywgZWFjaCBjb250YWluaW5nIGF0IGxlYXN0IGBkaXNwbGF5VmFsdWVgIGFuZCB0aGUgYWN0dWFsIGB2YWx1ZWAgdG8gYmUgdXBkYXRlZC5cbiAgICogT3B0aW9uYWxseSwgb3RoZXIgcHJvcGVydGllcyBmcm9tIGBGaWx0ZXJDaGlwYCBhcmUgYWxsb3dlZCwgZm9yIGV4YW1wbGUsIGEgY3VzdG9tIGByZW1vdmVgIGNhbGxiYWNrIHRvIGJlIGV4ZWN1dGVkIHdoZW4gYSBjaGlwIGlzIGJlaW5nIHJlbW92ZWQuXG4gICAqL1xuICBnZW5lcmF0ZUNoaXBzPzogKG1vZGVsOiBhbnkpID0+IFBhcnRpYWxGaWx0ZXJDaGlwR2VuZXJhdGlvblR5cGVbXTtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgYSBmaWx0ZXJpbmcgY29uZmlnIG1vZGVsIChlLmcuIGNvbWluZyBmcm9tIHNjaGVtYSBmb3JtIGNvbXBvbmVudCkgdG8gYSBxdWVyeSBvYmplY3QuXG4gICAqIEhvd2V2ZXIsIHVzaW5nIHNjaGVtYSBmb3JtIGNvbXBvbmVudCBpcyBub3QgbmVjZXNzYXJ5LlxuICAgKiBNb2RlbCBjYW4gYmUgZGVmaW5lZCBhcmJpdHJhcmlseSBidXQgbXVzdCBjb252ZXJ0ZWQgdG8gYSB2YWxpZCBxdWVyeSBvYmplY3QuXG4gICAqIEBwYXJhbSBtb2RlbCBBbiBvYmplY3Qgd2l0aCBkZWZpbmVkIHN0cnVjdHVyZSAoZS5nLiBieSBzY2hlbWEpLlxuICAgKiBAcmV0dXJucyBBIHF1ZXJ5IG9iamVjdCB0byBiZSB1c2VkIHRvIGdlbmVyYXRlIGEgcXVlcnkgc3RyaW5nIChRdWVyeVV0aWxzKS5cbiAgICovXG4gIGdldEZpbHRlcjogKG1vZGVsOiBhbnkpID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Tb3J0aW5nQ29uZmlnIHtcbiAgcGF0aFNvcnRpbmdDb25maWdzOiBQYXRoU29ydGluZ0NvbmZpZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdGhTb3J0aW5nQ29uZmlnIHtcbiAgcGF0aDogc3RyaW5nO1xuICBzb3J0T3JkZXJNb2RpZmllcj86IFNvcnRPcmRlck1vZGlmaWVyO1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBTb3J0T3JkZXJNb2RpZmllciB7XG4gIEtlZXAsXG4gIEludmVydFxufVxuXG4vKiogRGVzY3JpYmVzIGFuIGl0ZW0gaW4gdGhlIHJvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm93IHtcbiAgLyoqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbS4gKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKiogQW55IGl0ZW0gcHJvcGVydHkuICovXG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuLyoqIERlc2NyaWJlcyBhIHBhZ2luYXRpb24gb2JqZWN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uIHtcbiAgLyoqIFRoZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFnZS4gKi9cbiAgY3VycmVudFBhZ2U/OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgdGhlIG5leHQgcGFnZS4gKi9cbiAgbmV4dFBhZ2U/OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgb24gYSBzaW5nbGUgcGFnZS4gKi9cbiAgcGFnZVNpemU6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGZldGNoIHNlcnZlciBkYXRhLlxuICogQHBhcmFtIGRhdGFTb3VyY2VNb2RpZmllciBUaGUgY3VycmVudCBkYXRhIHNvdXJjZSBtb2RpZmllci5cbiAqIEByZXR1cm5zIFJldHVybnMgdGhlIHJlc3VsdCBmcm9tIHNlcnZlci5cbiAqL1xuZXhwb3J0IHR5cGUgU2VydmVyU2lkZURhdGFDYWxsYmFjayA9IChcbiAgZGF0YVNvdXJjZU1vZGlmaWVyOiBEYXRhU291cmNlTW9kaWZpZXJcbikgPT4gU2VydmVyU2lkZURhdGFSZXN1bHQgfCBQcm9taXNlPFNlcnZlclNpZGVEYXRhUmVzdWx0PiB8IE9ic2VydmFibGU8U2VydmVyU2lkZURhdGFSZXN1bHQ+O1xuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBzb3VyY2UgbW9kaWZpZXIgZm9yIHJlcXVlc3Rpbmcgc2VydmVyIGRhdGEuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2VNb2RpZmllciB7XG4gIC8qKiBUaGUgbGlzdCBvZiBjb2x1bW5zLiAqL1xuICBjb2x1bW5zOiBDb2x1bW5bXTtcblxuICAvKiogVGV4dCB0byBzZWFyY2guICovXG4gIHNlYXJjaFRleHQ6IHN0cmluZztcblxuICAvKiogUGFnaW5hdGlvbiBvYmplY3QuICovXG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb247XG5cbiAgLyoqIFNlbGVjdGlvbiBpbmZvIG9iamVjdC4gKi9cbiAgc2VsZWN0aW9uOiB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBpcyBlbmFibGVkLiAqL1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5LiAqL1xuICAgIHByaW1hcnlLZXk6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqIERlc2NyaWJlcyBhIHJlc3VsdCBmcm9tIHNlcnZlciB3aXRoIGRhdGEgYW5kIGFkZGl0aW9uYWwgc3RhdGlzdGljcy4gKi9cbmV4cG9ydCB0eXBlIFNlcnZlclNpZGVEYXRhUmVzdWx0ID0gSVJlc3VsdExpc3Q8b2JqZWN0PiAmIHtcbiAgLyoqIFRoZSByZWFsIGdyYW5kIHRvdGFsIG51bWJlciBvZiBpdGVtcyAodGhlIHdob2xlIGRhdGFzZXQpLiAqL1xuICBzaXplOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgYWZ0ZXIgZmlsdGVyaW5nIGFwcGxpZWQgdG8gdGhlIHdob2xlIGRhdGFzZXQgKHN1YnNldCkuICovXG4gIGZpbHRlcmVkU2l6ZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbGlzdCBvZiBpZHMgb2YgYWxsIGZpbHRlcmVkIGl0ZW1zIChzdWJzZXQpLiAqL1xuICBmaWx0ZXJlZERhdGFJZHM/OiBzdHJpbmdbXTtcbn07XG5cbi8qKiBEZXNjcmliZXMgYW4gb2JqZWN0IHdpdGggZGF0YSBzb3VyY2Ugc3RhdGlzdGljcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVNvdXJjZVN0YXRzIHtcbiAgLyoqIFRoZSByZWFsIGdyYW5kIHRvdGFsIG51bWJlciBvZiBpdGVtcyAodGhlIHdob2xlIGRhdGFzZXQpLiAqL1xuICBzaXplOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgYWZ0ZXIgZmlsdGVyaW5nIGFwcGxpZWQgdG8gdGhlIHdob2xlIGRhdGFzZXQgKHN1YnNldCkuICovXG4gIGZpbHRlcmVkU2l6ZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhZ2UuICovXG4gIGN1cnJlbnRQYWdlOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgdGhlIG5leHQgcGFnZS4gKi9cbiAgbmV4dFBhZ2U/OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgY3VycmVudGx5IHNob3duIGluIHRoZSBsaXN0IHZpZXcsIGEuay5hLiBjdXJyZW50IHBhZ2UgKHdoYXQgdGhlIHVzZXIgc2VlcyBvbiBzY3JlZW4pLiAqL1xuICBjdXJyZW50UGFnZVNpemU6IG51bWJlcjtcblxuICAvKiogVGhlIG51bWJlciBvZiBpdGVtcyBvbiB0aGUgZmlyc3QgcGFnZS4gICovXG4gIGZpcnN0UGFnZVNpemU6IG51bWJlcjtcbn1cblxuLyoqIERlc2NyaWJlcyBkYXRhIGdyaWQgZGlzcGxheSBvcHRpb25zLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNwbGF5T3B0aW9ucyB7XG4gIC8qKiBTaG93IG9yIGhpZGUgemVicmEtc3RyaXBpbmcgaW4gdGhlIHRhYmxlICovXG4gIHN0cmlwZWQ6IGJvb2xlYW47XG5cbiAgLyoqIFNob3cgb3IgaGlkZSBlYWNoIGNlbGwgYm9yZGVyICovXG4gIGJvcmRlcmVkOiBib29sZWFuO1xuXG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGdyaWQgaGVhZGVyICovXG4gIGdyaWRIZWFkZXI6IGJvb2xlYW47XG5cbiAgLyoqIFNob3cgb3IgaGlkZSBmaWx0ZXIgbGFiZWwgaW4gdGhlIGdyaWQgaGVhZGVyICovXG4gIGZpbHRlcjogYm9vbGVhbjtcblxuICAvKiogRW5hYmxlIHRvIGRpc3BsYXkgYSBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyICovXG4gIGhvdmVyOiBib29sZWFuO1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBncmlkIGFjdGlvbiBjb250cm9sIGZvciBpbmRpdmlkdWFsIGl0ZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnRyb2wge1xuICAvKiogVGhlIHR5cGUgb2YgdGhlIGFjdGlvbiwgcHJlZGVmaW5lZCBvciBjdXN0b20uICovXG4gIHR5cGU6IEJ1aWx0SW5BY3Rpb25UeXBlIHwgc3RyaW5nO1xuXG4gIC8qKiBUaGUgbGFiZWwgZm9yIHRoZSBhY3Rpb24gYnV0dG9uLiAqL1xuICB0ZXh0Pzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgaWNvbiBmb3IgdGhlIGFjdGlvbiBidXR0b24uICovXG4gIGljb24/OiBTdXBwb3J0ZWRJY29uc1N1Z2dlc3Rpb25zO1xuXG4gIC8qKiBUaGUgaWNvbiBjbGFzc2VzIGZvciB0aGUgYWN0aW9uIGJ1dHRvbiBpY29uLiAqL1xuICBpY29uQ2xhc3Nlcz86IHN0cmluZztcblxuICAvKiogQWN0aW9uIGljb24gd2lsbCBiZSB2aXNpYmxlIG9uIGhvdmVyIG9ubHkgKi9cbiAgc2hvd09uSG92ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0gaXRlbSBUaGUgaXRlbSB0byBwZXJmb3JtIHRoZSBhY3Rpb24gb24uXG4gICAqIEBwYXJhbSByZWxvYWQgVGhlIGZ1bmN0aW9uIHRvIGNhbGwsIGlmIHlvdSB3YW50IHRvIHJlbG9hZCB0aGUgZ3JpZC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIGNhbGxiYWNrOiAoKGl0ZW06IFJvdywgcmVsb2FkOiAoKSA9PiB2b2lkKSA9PiB2b2lkKSB8IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBhY3Rpb24gc2hvdWxkIGJlIHNob3duIGZvciBnaXZlbiBpdGVtIChpZiBub3QgZGVmaW5lZCwgdGhlIGFjdGlvbiB3aWxsIGJlIHNob3duIGFsd2F5cykuXG4gICAqIEBwYXJhbSBpdGVtIFRoZSBpdGVtIGZvciB3aGljaCB0aGUgYWN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHBlcmZvcm1lZC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIHNob3dJZj86ICgoaXRlbTogUm93ICYgc3RyaW5nW10pID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHwgT2JzZXJ2YWJsZTxib29sZWFuPikgfCBGdW5jdGlvbjtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgb3JkZXIgaW4gd2hpY2ggYWN0aW9uIGNvbnRyb2xzIGFwcGVhci4gSGlnaGVyIHZhbHVlIG1lYW5zIGVhcmxpZXIgcG9zaXRpb24uXG4gICAqIENvbnRyb2xzIHdpdGhvdXQgcHJpb3JpdHkgYXJlIGhhbmRsZWQgd2l0aCBwcmlvcml0eSA9IDAuIElmIHlvdSB3YW50IHRvIHBsYWNlIGFuIGFjdGlvbiBhZnRlclxuICAgKiBhbiBhY3Rpb24gd2l0aG91dCBwcmlvcml0eSwgbmVnYXRpdmUgbnVtYmVycyBjYW4gYmUgdXNlZC5cbiAgICovXG4gIHByaW9yaXR5PzogbnVtYmVyO1xuXG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuLyoqIERlc2NyaWJlcyBhIGRhdGEgZ3JpZCBhY3Rpb24gY29udHJvbCBmb3IgbXVsdGlwbGUgaXRlbXMuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1bGtBY3Rpb25Db250cm9sIGV4dGVuZHMgQWN0aW9uQ29udHJvbCB7XG4gIC8qKlxuICAgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0gc2VsZWN0ZWRJdGVtSWRzIFRoZSBsaXN0IG9mIGlkcyBvZiB0aGUgc2VsZWN0ZWQgaXRlbXMuXG4gICAqIEBwYXJhbSByZWxvYWQgVGhlIGZ1bmN0aW9uIHRvIGNhbGwsIGlmIHlvdSB3YW50IHRvIHJlbG9hZCB0aGUgZ3JpZC5cbiAgICovXG4gIGNhbGxiYWNrKHNlbGVjdGVkSXRlbUlkczogc3RyaW5nW10sIHJlbG9hZDogKCkgPT4gdm9pZCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGFjdGlvbiBzaG91bGQgYmUgc2hvd24gZm9yIGdpdmVuIHNlbGVjdGVkIGl0ZW1zIChpZiBub3QgZGVmaW5lZCwgdGhlIGFjdGlvbiB3aWxsIGJlIHNob3duIGFsd2F5cykuXG4gICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1JZHMgVGhlIGxpc3Qgb2YgaWRzIG9mIHRoZSBzZWxlY3RlZCBpdGVtcyBmb3Igd2hpY2ggdGhlIGFjdGlvbiBpcyBzdXBwb3NlZCB0byBiZSBwZXJmb3JtZWQuXG4gICAqL1xuICBzaG93SWY/KHNlbGVjdGVkSXRlbUlkczogc3RyaW5nW10pOiBib29sZWFuO1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBncmlkIGFjdGlvbiBjb250cm9sIGZvciB0aGUgaGVhZGVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJBY3Rpb25Db250cm9sIGV4dGVuZHMgQWN0aW9uQ29udHJvbCB7XG4gIC8qKlxuICAgKiBDdXN0b20gdGVtcGxhdGUgY2FuIGJlIHByb3ZpZGVkLiBJZiBubyB0ZW1wbGF0ZSBpcyBwcm92aWRlZCxcbiAgICogdGhlIGRlZmF1bHQgaGVhZGVyQWN0aW9uQ29udHJvbCB0ZW1wbGF0ZSBpcyB1c2VkLlxuICAgKi9cbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKi9cbiAgY2FsbGJhY2soKTogdm9pZDtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgYWN0aW9uIHNob3VsZCBiZSBzaG93bi5cbiAgICovXG4gIHNob3dJZj8oKTogYm9vbGVhbjtcbn1cblxuLyoqIFByZWRlZmluZWQgdHlwZXMgb2YgYWN0aW9ucy4gKi9cbmV4cG9ydCBlbnVtIEJ1aWx0SW5BY3Rpb25UeXBlIHtcbiAgLyoqIEVkaXQgYnVpbHQtaW4gYWN0aW9uLiAqL1xuICBFZGl0ID0gJ0VESVQnLFxuXG4gIC8qKiBEZWxldGUgYnVpbHQtaW4gYWN0aW9uLiAqL1xuICBEZWxldGUgPSAnREVMRVRFJyxcblxuICAvKiogRXhwb3J0IGJ1aWx0LWluIGFjdGlvbi4gKi9cbiAgRXhwb3J0ID0gJ0VYUE9SVCdcbn1cblxuLyoqXG4gKiBBbGxvd3MgdG8gYXR0YWNoIGFjdGlvbiBjb250cm9scyB0byBzcGVjaWZpZWQgZ3JpZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udHJvbEhvb2sge1xuICAvKipcbiAgICogVGhlIGFjdGlvbiBjb250cm9sKHMpIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgZ3JpZC5cbiAgICovXG4gIGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sIHwgQWN0aW9uQ29udHJvbFtdO1xuICAvKipcbiAgICogQSBmdW5jdGlvbnMgdGhhdCBkZXRlcm1pbmVzIHRvIHdoaWNoIGdyaWQocykgdGhlIGFjdGlvbiBjb250cm9sKHMpIHdpbGwgYmUgYXR0YWNoZWQuXG4gICAqIE5vdCBwcm92aWRpbmcgYSBmdW5jdGlvbiByZXN1bHRzIGluIHRoZSBhY3Rpb25zIGNvbnRyb2wocykgbm90IGJlaW5nIGF0dGFjaGVkIHRvIGFueSBncmlkLlxuICAgKi9cbiAgbWF0Y2hlc0dyaWQ6IChcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgY29udGV4dD86IEdyaWRDb25maWdDb250ZXh0XG4gICkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xufVxuXG4vKipcbiAqIEZhY3RvcnkgdG8gaW1wbGVtZW50IGluIG9yZGVyIHRvIGFkZCBhY3Rpb24gY29udHJvbHMgZnJvbSBhbiBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEFjdGlvbkNvbnRyb2xGYWN0b3J5ID0gRXh0ZW5zaW9uRmFjdG9yeTxBY3Rpb25Db250cm9sSG9vaz47XG5cbi8qKlxuICogRGVmaW5lcyBhbiBpbnRlcmZhY2UgZm9yIGEgZmlsdGVyIGNoaXAgb2JqZWN0LCB3aGljaCByZXByZXNlbnRzIGEgZmlsdGVyIGFwcGxpZWQgdG8gYSBjb2x1bW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ2hpcCB7XG4gIC8qKlxuICAgKiBUaGUgYWN0dWFsIHZhbHVlIHRoYXQgdGhlIGNoaXAgd2lsbCBob2xkLlxuICAgKiBJdCBjYW4gYmUganVzdCBhIHN0cmluZyBvciBhIG1vcmUgY29tcGxleCBvYmplY3QgbGlrZVxuICAgKiB7aWQ6IDEyMywgbmFtZTogVGVzdCwgdmFsdWU6IHRlc3R9LlxuICAgKi9cbiAgdmFsdWU6IGFueTtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIHRoYXQgdGhlIGNoaXAgd2lsbCBkaXNwbGF5IGluIHRoZSBkcm9wZG93bi5cbiAgICovXG4gIGRpc3BsYXlWYWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBsYWJlbCB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGlmIGZpbHRlciBjaGlwcyBhcmUgc2VwYXJhdGVkIGludG8gbXVsdGlwbGUgZ3JvdXBzLlxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqIEFuIG9wdGlvbmFsIHByb3BlcnR5IHRoYXQgaG9sZHMgdGhlIHBhdGggdG8gdGhlIGNoaXAgdmFsdWUgaW4gdGhlIGV4dGVybmFsRmlsdGVyUXVlcnkuICovXG4gIHBhdGg/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcHJvcGVydHkgdGhhdCBob2xkcyB0aGUgZm9ybSB2YWx1ZSB0YWtlbiBmcm9tIHRoZSBjb2x1bW4gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGV4dGVybmFsRmlsdGVyUXVlcnk/OiBhbnk7XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHByb3BlcnR5IHRoYXQgaG9sZHMgdGhlIGZvcm1seSBmaWx0ZXJpbmcgY29uZmlndXJhdGlvbiBmb3IgdGhlIGNvbHVtbiB0aGF0IHRoaXMgZmlsdGVyIGlzIGFwcGxpZWQgdG8uXG4gICAqL1xuICBmaWx0ZXJpbmdDb25maWc/OiBGb3JtbHlDb2x1bW5GaWx0ZXJpbmdDb25maWc7XG5cbiAgLyoqIEFuIG9wdGlvbmFsIHByb3BlcnR5IHRoYXQgaG9sZHMgYSBzdHJpbmcgdG8gc2VhcmNoIGZvci4gKi9cbiAgZmlsdGVyUHJlZGljYXRlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgY29sdW1uIHRoYXQgdGhpcyBmaWx0ZXIgaXMgYXBwbGllZCB0by5cbiAgICovXG4gIGNvbHVtbk5hbWU6IHN0cmluZyB8IFNwZWNpYWxDb2x1bW5OYW1lO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBmdW5jdGlvbiB0byByZW1vdmUgdGhpcyBmaWx0ZXIgZnJvbSB0aGUgY29sdW1uLlxuICAgKiBJZiBub3QgcHJvdmlkZWQgd2lsbCBzZXQgZGVmYXVsdCByZW1vdmFsIGZ1bmN0aW9uIHRoYXQgd2lsbCByZWR1Y2UgdGhlIGV4dGVybmFsIHF1ZXJ5IGJ5IHJlbW92aW5nIHRoZSBvYmplY3QgdGhhdCBpcyByZXNvbHZlZCBieSB0aGUgcGF0aCBzZXQgaW4gdGhlIEZpbHRlckNoaXAuXG4gICAqIEByZXR1cm5zIEFuIG9iamVjdCBkZWZpbmVkIGJ5IHRoZSBgRmlsdGVyQ2hpcGAgdHlwZSwgaW5jbHVkaW5nIHRoZSBgY29sdW1uTmFtZWAgYW5kICB1cGRhdGVkIGBleHRlcm5hbEZpbHRlclF1ZXJ5YCBvciAnZmlsdGVyUHJlZGljYXRlJyBwcm9wZXJ0aWVzLlxuICAgKiBUaGUgcmV0dXJuZWQgb2JqZWN0IG1heSBhbHNvIGluY2x1ZGUgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIGRlZmluZWQgYnkgdGhlIGBGaWx0ZXJDaGlwYCB0eXBlIGFzIHBhcnRpYWxzLlxuICAgKi9cbiAgcmVtb3ZlPzogKCkgPT4gUGFydGlhbEZpbHRlckNoaXBSZW1vdmFsVHlwZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcGFydGlhbCBmaWx0ZXIgY2hpcCB3aXRoIGVpdGhlciAnY29sdW1uTmFtZScgYW5kICdleHRlcm5hbEZpbHRlclF1ZXJ5JyBvciAnY29sdW1uTmFtZScgYW5kICdmaWx0ZXJQcmVkaWNhdGUnLlxuICogQHR5cGVkZWYge09iamVjdH0gUGFydGlhbEZpbHRlckNoaXBSZW1vdmFsVHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNvbHVtbk5hbWUgLSBUaGUgY29sdW1uIG5hbWUgZm9yIHRoZSBmaWx0ZXIgY2hpcC5cbiAqIEBwcm9wZXJ0eSB7YW55fSBbZXh0ZXJuYWxGaWx0ZXJRdWVyeV0gLSBUaGUgZXh0ZXJuYWwgZmlsdGVyIHF1ZXJ5IGZvciB0aGUgY2hpcCB1c2VkIGZvciBjb21wbGV4IGZpbHRlcnMuXG4gKiBAcHJvcGVydHkge2FueX0gW2ZpbHRlclByZWRpY2F0ZV0gLSBUaGUgZmlsdGVyaW5nIHByZWRpY2F0ZSBmb3IgdGhlIGNoaXAgdXNlZCBmb3Igc2ltcGxlIGZpbHRlcnMgd2l0aCBjbGllbnQtc2lkZSBmaWx0ZXJpbmcuXG4gKiBAcHJvcGVydHkgey4uLkZpbHRlckNoaXB9IFtvcHRpb25hbFByb3BlcnRpZXNdIC0gT3B0aW9uYWwgcHJvcGVydGllcyBmcm9tIHRoZSBGaWx0ZXJDaGlwIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnRpYWxGaWx0ZXJDaGlwUmVtb3ZhbFR5cGUgPSAoXG4gIHwgUmVxdWlyZWQ8UGljazxGaWx0ZXJDaGlwLCAnY29sdW1uTmFtZScgfCAnZXh0ZXJuYWxGaWx0ZXJRdWVyeSc+PlxuICB8IFJlcXVpcmVkPFBpY2s8RmlsdGVyQ2hpcCwgJ2NvbHVtbk5hbWUnIHwgJ2ZpbHRlclByZWRpY2F0ZSc+PlxuKSAmXG4gIFBhcnRpYWw8RmlsdGVyQ2hpcD47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHBhcnRpYWwgZmlsdGVyIGNoaXAgd2l0aCByZXF1aXJlZCBwcm9wZXJ0aWVzICdkaXNwbGF5VmFsdWUnIGFuZCAndmFsdWUnLlxuICogQHR5cGVkZWYge09iamVjdH0gUGFydGlhbEZpbHRlckNoaXBHZW5lcmF0aW9uVHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGRpc3BsYXlWYWx1ZSAtIFRoZSBkaXNwbGF5IHZhbHVlIGZvciB0aGUgZmlsdGVyIGNoaXAuXG4gKiBAcHJvcGVydHkge2FueX0gdmFsdWUgLSBUaGUgdmFsdWUgZm9yIHRoZSBmaWx0ZXIgY2hpcC5cbiAqIEBwcm9wZXJ0eSB7Li4uRmlsdGVyQ2hpcH0gW29wdGlvbmFsUHJvcGVydGllc10gLSBPcHRpb25hbCBwcm9wZXJ0aWVzIGZyb20gdGhlIEZpbHRlckNoaXAgdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgUGFydGlhbEZpbHRlckNoaXBHZW5lcmF0aW9uVHlwZSA9IFJlcXVpcmVkPFBpY2s8RmlsdGVyQ2hpcCwgJ2Rpc3BsYXlWYWx1ZScgfCAndmFsdWUnPj4gJlxuICBQYXJ0aWFsPEZpbHRlckNoaXA+O1xuXG4vKipcbiAqIERlZmluZXMgYW4gaW50ZXJmYWNlIGZvciBhIG1hcHBlciBmdW5jdGlvbiB0aGF0IG1hcHMgYSBgRm9ybWx5RmllbGRDb25maWdgIHRvIGEgYEZpbHRlckNoaXBgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlck1hcHBlciB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvciB0eXBlcyBvZiB0aGUgYEZvcm1seUZpZWxkQ29uZmlnYCB0aGF0IHRoaXMgbWFwcGVyIGFwcGxpZXMgdG8uXG4gICAqL1xuICBmaWVsZFR5cGU6IHN0cmluZ1tdIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYXBzIGEgYEZvcm1seUZpZWxkQ29uZmlnYCBhbmQgYSBgRmlsdGVyQ2hpcGAgdG8gYW4gYE9ic2VydmFibGVgIG9mIGEgYEZpbHRlckNoaXBgLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGV4dGVuZHMgdGhlIHByb3ZpZGVkIGBGaWx0ZXJDaGlwYCBvYmplY3Qgd2l0aCBhZGRpdGlvbmFsIHByb3BlcnRpZXMgYmFzZWQgb24gdGhlIGluZm9ybWF0aW9uIGluIHRoZSBgRm9ybWx5RmllbGRDb25maWdgLlxuICAgKiBUaGUgbWFwcGluZyBwcm9jZXNzIGRlcGVuZHMgb24gdGhlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHRoZSBgRmlsdGVyTWFwcGVyYC5cbiAgICpcbiAgICogQHBhcmFtIGZpZWxkIC0gVGhlIGBGb3JtbHlGaWVsZENvbmZpZ2AgdG8gbWFwLlxuICAgKiBAcGFyYW0gZmlsdGVyIC0gVGhlIGBGaWx0ZXJDaGlwYCB0byBtYXAuXG4gICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB0aGF0IGVtaXRzIHRoZSBtYXBwZWQgYEZpbHRlckNoaXBgLlxuICAgKiBJZiB1bmRlZmluZWQgaXMgcmV0dXJuZWQgYW4gZXJyb3IgaXMgdGhyb3duIGFuZCB0aGUgY2hpcCBpcyBub3QgdmlzdWFsaXplZC5cbiAgICpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBFeGFtcGxlIGltcGxlbWVudGF0aW9uIG9mIGBtYXBgIGZ1bmN0aW9uIGluIGEgYEZpbHRlck1hcHBlcmBcbiAgICogbWFwKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgZmlsdGVyOiBGaWx0ZXJDaGlwKTogT2JzZXJ2YWJsZTxGaWx0ZXJDaGlwPiB7XG4gICAqICAgaWYgKHRoaXMuZmllbGRUeXBlLmluY2x1ZGVzKGZpZWxkLnR5cGUudG9TdHJpbmcoKSkpIHtcbiAgICogICAgIHJldHVybiB0b09ic2VydmFibGUoZmllbGQudGVtcGxhdGVPcHRpb25zLm9wdGlvbnMpLnBpcGUoXG4gICAqICAgICAgIG1hcChvcHRpb25zID0+IHtcbiAgICogICAgICAgICBjb25zdCBvYmplY3QgPSBvcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gZ2V0KGZpbHRlci5leHRlcm5hbEZpbHRlclF1ZXJ5LCBmaWx0ZXIucGF0aCkpO1xuICAgKiAgICAgICAgIHJldHVybiB7XG4gICAqICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAqICAgICAgICAgICB2YWx1ZTogb2JqZWN0LFxuICAgKiAgICAgICAgICAgZGlzcGxheVZhbHVlOiBvYmplY3Q/LmxhYmVsXG4gICAqICAgICAgICAgfTtcbiAgICogICAgICAgfSlcbiAgICogICAgICk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgbWFwOiAoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBmaWx0ZXI6IEZpbHRlckNoaXApID0+IE9ic2VydmFibGU8RmlsdGVyQ2hpcD47XG59XG4iXX0=
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kYXRhLWdyaWQvZGF0YS1ncmlkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZLQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFFekMsNENBQTRDO0FBQzVDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLDZDQUE2QztJQUM3QyxJQUFJLEVBQUUsQ0FBQztJQUVQLGdEQUFnRDtJQUNoRCxPQUFPLEVBQUUsQ0FBQztJQUVWLG1EQUFtRDtJQUNuRCxZQUFZLEVBQUUsSUFBSTtJQUVsQixrREFBa0Q7SUFDbEQsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQWFGLHlCQUF5QjtBQUN6QixNQUFNLENBQU4sSUFBWSxtQkFNWDtBQU5ELFdBQVksbUJBQW1CO0lBQzdCLDZEQUE2RDtJQUM3RCxtREFBNEIsQ0FBQTtJQUU1Qiw2REFBNkQ7SUFDN0QsbURBQTRCLENBQUE7QUFDOUIsQ0FBQyxFQU5XLG1CQUFtQixLQUFuQixtQkFBbUIsUUFNOUI7QUErT0QsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBTixJQUFZLGlCQVNYO0FBVEQsV0FBWSxpQkFBaUI7SUFDM0IsNEJBQTRCO0lBQzVCLGtDQUFhLENBQUE7SUFFYiw4QkFBOEI7SUFDOUIsc0NBQWlCLENBQUE7SUFFakIsOEJBQThCO0lBQzlCLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFUVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBUzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgU3VwcG9ydGVkSWNvbnNTdWdnZXN0aW9ucyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvaWNvbi1zZWxlY3Rvci9pY29ucyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uRmFjdG9yeSB9IGZyb20gJy4uL2NvbW1vbi9leHRlbnNpb24taG9va3MnO1xuaW1wb3J0IHsgR3JpZENvbmZpZ0NvbnRleHQgfSBmcm9tICcuL2RhdGEtZ3JpZC1jb25maWd1cmF0aW9uLm1vZGVsJztcblxuLyoqIERlc2NyaWJlcyB0aGUgaW50ZXJmYWNlIG9mIHRoZSBkYXRhIGdyaWQuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFHcmlkIHtcbiAgLyoqIFRoZSBsaXN0IG9mIGNvbHVtbnMuICovXG4gIGNvbHVtbnM6IENvbHVtbltdO1xuXG4gIC8qKiBUaGUgbGlzdCBvZiBpdGVtcy4gKi9cbiAgcm93czogUm93W107XG5cbiAgLyoqIFBhZ2luYXRpb24gb2JqZWN0LiAqL1xuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uO1xuXG4gIC8qKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGZldGNoIHNlcnZlciBkYXRhLiAqL1xuICBzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrOiBTZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrO1xuXG4gIC8qKiBXaGV0aGVyIGl0ZW1zIGFyZSBzZWxlY3RhYmxlLiAqL1xuICBzZWxlY3RhYmxlOiBib29sZWFuO1xuXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgcHJpbWFyeSBrZXkgcHJvcGVydHkuICovXG4gIHNlbGVjdGlvblByaW1hcnlLZXk6IHN0cmluZztcblxuICAvKiogRGF0YSBncmlkIGRpc3BsYXkgb3B0aW9ucy4gKi9cbiAgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb25zO1xuXG4gIC8qKiBJbmRpdmlkdWFsIGFjdGlvbiBjb250cm9scy4gKi9cbiAgYWN0aW9uQ29udHJvbHM6IEFjdGlvbkNvbnRyb2xbXTtcblxuICAvKiogQnVsayBhY3Rpb24gY29udHJvbHMuICovXG4gIGJ1bGtBY3Rpb25Db250cm9sczogQnVsa0FjdGlvbkNvbnRyb2xbXTtcblxuICAvKiogSGVhZGVyIGFjdGlvbiBjb250cm9scy4gKi9cbiAgaGVhZGVyQWN0aW9uQ29udHJvbHM/OiBIZWFkZXJBY3Rpb25Db250cm9sW107XG59XG5cbi8qKiBEZXNjcmliZXMgYSBkYXRhIGdyaWQgY29sdW1uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2x1bW4ge1xuICAvKiogVGhlIG5hbWUgZm9yIHRoZSBjb2x1bW4uICovXG4gIG5hbWU6IHN0cmluZyB8IFNwZWNpYWxDb2x1bW5OYW1lO1xuICAvKiogVGhlIGNvbHVtbidzIGhlYWRlciAoaWYgbm90IGdpdmVuLCBgbmFtZWAgaXMgdXNlZCBieSBkZWZhdWx0KS4gKi9cbiAgaGVhZGVyPzogc3RyaW5nO1xuICAvKiogVGhlIHBhdGggaW4gYSByb3cgaXRlbSB0byByZWFkIHRoZSBjZWxsIHZhbHVlIGZyb20uICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBjb2x1bW4gaXMgZGlzcGxheWVkLiAqL1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBjYW4gYmUgbW92ZWQgdG8gYW5vdGhlciBwb3NpdGlvbi4gKi9cbiAgcG9zaXRpb25GaXhlZD86IGJvb2xlYW47XG4gIC8qKiBNYXJrcyBhIHVzZXIgY29uZmlndXJlZCBjdXN0b20gY29sdW1uICovXG4gIGN1c3RvbT86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBjb2x1bW4gY2FuIGJlIHJlc2l6ZWQuICovXG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gIC8qKiBPcHRpb25hbCB0eXBlIG9mIGRhdGEgaW4gdGhlIGNvbHVtbiAodXNlZCB0byBzZXQgZGF0YS10eXBlIGF0dHJpYnV0ZSwgZS5nLiBmb3IgYWRkaXRpb25hbCBzdHlsaW5nKS4gKi9cbiAgZGF0YVR5cGU/OiBDb2x1bW5EYXRhVHlwZTtcbiAgLyoqIFRoZSBjb2x1bW4ncyBzaXplLCBlLmcuIFwiNDAgcHhcIi4gKi9cbiAgZ3JpZFRyYWNrU2l6ZT86IHN0cmluZztcbiAgLyoqIEFkZGl0aW9uYWwgQ1NTIGNsYXNzZXMgZm9yIHRoZSBoZWFkZXIgY2VsbC4gKi9cbiAgaGVhZGVyQ1NTQ2xhc3NOYW1lPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzc2VzIGZvciBkYXRhIGNlbGxzLiAqL1xuICBjZWxsQ1NTQ2xhc3NOYW1lPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBzb3J0YWJsZS4gKi9cbiAgc29ydGFibGU/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgc29ydCBvcmRlciBpcyBhc2NlbmRpbmcsIGRlc2NlbmRpbmcgb3Igbm90IHNwZWNpZmllZC4gKi9cbiAgc29ydE9yZGVyPzogU29ydE9yZGVyO1xuICBzb3J0aW5nQ29uZmlnPzogQ29sdW1uU29ydGluZ0NvbmZpZztcblxuICAvKiogV2hldGhlciB0aGUgY29sdW1uIGlzIGZpbHRlcmFibGUuICovXG4gIGZpbHRlcmFibGU/OiBib29sZWFuO1xuICAvKiogVGhlIHN0cmluZyB0byBzZWFyY2ggZm9yIG9yIGEgZnVuY3Rpb24gZm9yIGNsaWVudC1zaWRlIGZpbHRlcmluZy4gKi9cbiAgZmlsdGVyUHJlZGljYXRlPzogc3RyaW5nIHwgRmlsdGVyUHJlZGljYXRlRnVuY3Rpb247XG4gIC8qKiBDdXN0b20gZmlsdGVyaW5nIGZvcm0gcmVuZGVyZXIgY2FuIHNldCBhbnkgdmFsdWUgaGVyZSBhbmQgaXQgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYSBxdWVyeSB0byB0aGUgc2VydmVyLiAqL1xuICBleHRlcm5hbEZpbHRlclF1ZXJ5PzogYW55O1xuICBmaWx0ZXJpbmdDb25maWc/OiBGb3JtbHlDb2x1bW5GaWx0ZXJpbmdDb25maWc7XG5cbiAgLyoqIEN1c3RvbSBkYXRhIGNlbGwgcmVuZGVyZXIgY29tcG9uZW50LiBJbmplY3QgYENlbGxSZW5kZXJlckNvbnRleHRgIHRvIGdldCBhY2Nlc3MgdG8gZGF0YSB2YWx1ZSwgaXRlbSBhbmQgY29sdW1uIG9iamVjdC4gKi9cbiAgY2VsbFJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTxhbnk+O1xuICAvKiogQ3VzdG9tIGhlYWRlciBjZWxsIHJlbmRlcmVyIGNvbXBvbmVudC4gSW5qZWN0IGBDZWxsUmVuZGVyZXJDb250ZXh0YCB0byBnZXQgYWNjZXNzIHRvIGhlYWRlciB2YWx1ZSBhbmQgY29sdW1uIG9iamVjdC4gKi9cbiAgaGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTxhbnk+O1xuICAvKiogQ3VzdG9tIGZpbHRlcmluZyBmb3JtIHJlbmRlcmVyIGNvbXBvbmVudC4gSW5qZWN0IGBGaWx0ZXJpbmdGb3JtUmVuZGVyZXJDb250ZXh0YCB0byBnZXQgYWNjZXNzIHRvIGNvbHVtbiBvYmplY3QgYW5kIG1ldGhvZHM6IGFwcGx5RmlsdGVyLCByZXNldEZpbHRlci4gKi9cbiAgZmlsdGVyaW5nRm9ybVJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTxhbnk+O1xufVxuXG4vKiogRGVzY3JpYmVzIGEgY29sdW1uIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkNvbmZpZyB7XG4gIC8qKiBUaGUgbmFtZSBmb3IgdGhlIGNvbHVtbi4gKi9cbiAgbmFtZT86IHN0cmluZztcblxuICAvKiogV2hldGhlciB0aGUgY29sdW1uIGlzIGRpc3BsYXllZC4gKi9cbiAgdmlzaWJsZT86IGJvb2xlYW47XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHNvcnQgb3JkZXIgaXMgYXNjZW5kaW5nLCBkZXNjZW5kaW5nIG9yIG5vdCBzcGVjaWZpZWQuICovXG4gIHNvcnRPcmRlcj86IFNvcnRPcmRlcjtcblxuICAvKiogVGhlIHNldHRpbmdzIG9mIGZpbHRlciBpbiBhIGNvbHVtbi4gKi9cbiAgZmlsdGVyPzogRmlsdGVyO1xufVxuXG4vKiogRGVzY3JpYmVzIGEgY3VzdG9tIGNvbHVtbiBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Db2x1bW5Db25maWcgZXh0ZW5kcyBDb2x1bW5Db25maWcge1xuICAvKiogSlNPTiBwYXRoIHRvIHRoZSBtYW5hZ2VkIG9iamVjdCBwcm9wZXJ0eSB0byBiZSBkaXNwbGF5ZWQgKi9cbiAgcGF0aDogc3RyaW5nO1xuXG4gIC8qKiBDb2x1bW4gaGVhZGVyIHRpdGxlICovXG4gIGhlYWRlcjogc3RyaW5nO1xuXG4gIC8qKiBGbGFnIHRvIGlkZW50aWZ5IGN1c3RvbSBjb2x1bW5zICovXG4gIGN1c3RvbTogYm9vbGVhbjtcbn1cblxuLyoqIERlc2NyaWJlcyB0aGUgc2V0dGluZ3Mgb2YgZmlsdGVyIGluIGEgY29sdW1uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXIge1xuICAvKiogQ3VzdG9tIGZpbHRlcmluZyBmb3JtIHJlbmRlcmVyIGNhbiBzZXQgYW55IHZhbHVlIGhlcmUgYW5kIGl0IGNhbiBiZSB1c2VkIHRvIGJ1aWxkIGEgcXVlcnkgdG8gdGhlIHNlcnZlci4gKi9cbiAgZXh0ZXJuYWxGaWx0ZXJRdWVyeT86IGFueTtcbiAgLyoqIEFuIG9wdGlvbmFsIHByb3BlcnR5IHRoYXQgaG9sZHMgYSBzdHJpbmcgdG8gc2VhcmNoIGZvci4gKi9cbiAgZmlsdGVyUHJlZGljYXRlPzogc3RyaW5nIHwgRmlsdGVyUHJlZGljYXRlRnVuY3Rpb247XG59XG5cbi8qKiBEZXNjcmliZXMgYW4gb2JqZWN0IHdpdGggZGF0YSBncmlkIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRDb25maWcge1xuICAvKiogVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0cyBmb3IgYWxsIHRoZSBjb2x1bW5zLiAqL1xuICBjb2x1bW5zOiBDb2x1bW5Db25maWdbXTtcblxuICAvKiogUGFnaW5hdGlvbiBvYmplY3QuICovXG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb247XG59XG5cbi8qKiAgKi9cbmV4cG9ydCBjb25zdCBlbnVtIFNwZWNpYWxDb2x1bW5OYW1lIHtcbiAgLyoqIENvbHVtbiB3aXRoIGNoZWNrYm94LiAqL1xuICBDaGVja2JveCA9ICdjaGVja2JveCcsXG5cbiAgLyoqIENvbHVtbiB3aXRoIHJhZGlvIGJ1dHRvbi4gKi9cbiAgUmFkaW9CdXR0b24gPSAncmFkaW8tYnV0dG9uJyxcblxuICAvKiogQ29sdW1uIHdpdGggcm93IGFjdGlvbnMuICovXG4gIEFjdGlvbnMgPSAnYWN0aW9ucydcbn1cblxuLyoqICAqL1xuZXhwb3J0IGNvbnN0IGVudW0gQ29sdW1uRGF0YVR5cGUge1xuICAvKiogQ29sdW1uIHdpdGggaWNvbi4gKi9cbiAgSWNvbiA9ICdpY29uJyxcblxuICAvKiogTnVtZXJpYyBjb2x1bW4uICovXG4gIE51bWVyaWMgPSAnbnVtZXJpYycsXG5cbiAgLyoqIENvbHVtbiB3aXRoIHNob3J0IHRleHQuICovXG4gIFRleHRTaG9ydCA9ICd0ZXh0LXNob3J0JyxcblxuICAvKiogQ29sdW1uIHdpdGggbG9uZyB0ZXh0LiAqL1xuICBUZXh0TG9uZyA9ICd0ZXh0LWxvbmcnXG59XG5cbi8qKiBDbGFzc2VzIGZvciBjb2x1bW4gZGF0YSByZWNvcmQuICovXG5leHBvcnQgY29uc3QgZW51bSBDb2x1bW5EYXRhUmVjb3JkQ2xhc3NOYW1lIHtcbiAgLyoqIEFuIGljb24uICovXG4gIEljb24gPSAnZGF0YS1yZWNvcmQtaWNvbicsXG5cbiAgLyoqIEEgaGVhZGVyLiAqL1xuICBIZWFkZXIgPSAnZGF0YS1yZWNvcmQtaGVhZGVyJyxcblxuICAvKiogRGVmYXVsdCAtIGVtcHR5LiAqL1xuICBEZWZhdWx0ID0gJydcbn1cblxuZXhwb3J0IGNvbnN0IG1pbkNvbHVtbkdyaWRUcmFja1NpemUgPSA4MDtcblxuLyoqIE1hcHMgY29sdW1uIHR5cGVzIHRvIHJlbGF0aXZlIHdpZHRocy4gKi9cbmV4cG9ydCBjb25zdCByYXRpb3NCeUNvbHVtblR5cGVzID0ge1xuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3IgaWNvbiBjb2x1bW4gdHlwZS4gKi9cbiAgaWNvbjogMSxcblxuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3IgbnVtZXJpYyBjb2x1bW4gdHlwZS4gKi9cbiAgbnVtZXJpYzogMSxcblxuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3Igc2hvcnQgdGV4dCBjb2x1bW4gdHlwZS4gKi9cbiAgJ3RleHQtc2hvcnQnOiAxLjY3LFxuXG4gIC8qKiBUaGUgd2lkdGggcmF0aW9uIGZvciBsb25nIHRleHQgY29sdW1uIHR5cGUuICovXG4gICd0ZXh0LWxvbmcnOiAzLjMzXG59O1xuXG4vKiogU29ydGluZyBvcmRlcjogYXNjZW5kaW5nLCBkZXNjZW5kaW5nLCBvciBub3Qgc3BlY2lmaWVkLiAqL1xuZXhwb3J0IHR5cGUgU29ydE9yZGVyID0gJ2FzYycgfCAnZGVzYycgfCAnJztcblxuLyoqXG4gKiBBIGZpbHRlciBwcmVkaWNhdGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gaXRlbSBUaGUgY3VycmVudCBpdGVtIHRvIGJlIGNoZWNrZWQuXG4gKiBAcGFyYW0gcGF0aCBUaGUgcHJvcGVydHkgcGF0aCBjb25maWd1cmVkIGluIHRoZSBjdXJyZW50IGNvbHVtbi5cbiAqIEByZXR1cm5zIFRoZSBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgaXRlbSBtYXRjaGVzIGEgY29uZGl0aW9uIG9yIG5vdC5cbiAqL1xuZXhwb3J0IHR5cGUgRmlsdGVyUHJlZGljYXRlRnVuY3Rpb24gPSAoaXRlbTogb2JqZWN0LCBwYXRoOiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbi8qKiBGaWx0ZXJpbmcgYWN0aW9ucy4gKi9cbmV4cG9ydCBlbnVtIEZpbHRlcmluZ0FjdGlvblR5cGUge1xuICAvKiogQWN0aW9uIGludm9rZWQgd2hlbiBmaWx0ZXIgc2V0dGluZ3MgYXJlIHRvIGJlIGFwcGxpZWQuICovXG4gIEFwcGx5RmlsdGVyID0gJ0FQUExZX0ZJTFRFUicsXG5cbiAgLyoqIEFjdGlvbiBpbnZva2VkIHdoZW4gZmlsdGVyIHNldHRpbmdzIGFyZSB0byBiZSBjbGVhcmVkLiAqL1xuICBSZXNldEZpbHRlciA9ICdSRVNFVF9GSUxURVInXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5Q29sdW1uRmlsdGVyaW5nQ29uZmlnIHtcbiAgLyoqIERlZmluZXMgYSBGaWVsZENvbmZpZyBjb25maWd1cmF0aW9uIGZvciBGb3JtbHkuICAqL1xuICBmaWVsZHM/OiBGb3JtbHlGaWVsZENvbmZpZ1tdO1xuICAvKiogRGVmaW5lcyBhIEpTT04gc2NoZW1hIGZvciBmaWx0ZXJpbmcgY29uZmlnIG1vZGVsLiBDYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIGBmaWVsZHNgICovXG4gIHNjaGVtYT86IG9iamVjdDtcbiAgLyoqIERlZmluZXMgYSBtb2RlbCB0aGF0IHdpbGwgYmUgYXBwbGllZCB0byByZW5kZXJlZCBmb3JtLiAqL1xuICBtb2RlbD86IG9iamVjdDtcbiAgLyoqIERlZmluZXMgRm9ybUdyb3VwIGluc3RhbmNlICovXG4gIGZvcm1Hcm91cD86IEZvcm1Hcm91cDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgYSBmaWx0ZXJpbmcgY29uZmlnIG1vZGVsIHRvIGFuIGFycmF5IG9mIHBhcnRpYWwgZmlsdGVyIGNoaXAgb2JqZWN0cy5cbiAgICogQHBhcmFtIG1vZGVsIEFuIG9iamVjdCB3aXRoIGRlZmluZWQgc3RydWN0dXJlIChlLmcuIGJ5IHNjaGVtYSkuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBhcnRpYWwgZmlsdGVyIGNoaXAgb2JqZWN0cywgZWFjaCBjb250YWluaW5nIGF0IGxlYXN0IGBkaXNwbGF5VmFsdWVgIGFuZCB0aGUgYWN0dWFsIGB2YWx1ZWAgdG8gYmUgdXBkYXRlZC5cbiAgICogT3B0aW9uYWxseSwgb3RoZXIgcHJvcGVydGllcyBmcm9tIGBGaWx0ZXJDaGlwYCBhcmUgYWxsb3dlZCwgZm9yIGV4YW1wbGUsIGEgY3VzdG9tIGByZW1vdmVgIGNhbGxiYWNrIHRvIGJlIGV4ZWN1dGVkIHdoZW4gYSBjaGlwIGlzIGJlaW5nIHJlbW92ZWQuXG4gICAqL1xuICBnZW5lcmF0ZUNoaXBzPzogKG1vZGVsOiBhbnkpID0+IFBhcnRpYWxGaWx0ZXJDaGlwR2VuZXJhdGlvblR5cGVbXTtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgYSBmaWx0ZXJpbmcgY29uZmlnIG1vZGVsIChlLmcuIGNvbWluZyBmcm9tIHNjaGVtYSBmb3JtIGNvbXBvbmVudCkgdG8gYSBxdWVyeSBvYmplY3QuXG4gICAqIEhvd2V2ZXIsIHVzaW5nIHNjaGVtYSBmb3JtIGNvbXBvbmVudCBpcyBub3QgbmVjZXNzYXJ5LlxuICAgKiBNb2RlbCBjYW4gYmUgZGVmaW5lZCBhcmJpdHJhcmlseSBidXQgbXVzdCBjb252ZXJ0ZWQgdG8gYSB2YWxpZCBxdWVyeSBvYmplY3QuXG4gICAqIEBwYXJhbSBtb2RlbCBBbiBvYmplY3Qgd2l0aCBkZWZpbmVkIHN0cnVjdHVyZSAoZS5nLiBieSBzY2hlbWEpLlxuICAgKiBAcmV0dXJucyBBIHF1ZXJ5IG9iamVjdCB0byBiZSB1c2VkIHRvIGdlbmVyYXRlIGEgcXVlcnkgc3RyaW5nIChRdWVyeVV0aWxzKS5cbiAgICovXG4gIGdldEZpbHRlcjogKG1vZGVsOiBhbnkpID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Tb3J0aW5nQ29uZmlnIHtcbiAgcGF0aFNvcnRpbmdDb25maWdzOiBQYXRoU29ydGluZ0NvbmZpZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdGhTb3J0aW5nQ29uZmlnIHtcbiAgcGF0aDogc3RyaW5nO1xuICBzb3J0T3JkZXJNb2RpZmllcj86IFNvcnRPcmRlck1vZGlmaWVyO1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBTb3J0T3JkZXJNb2RpZmllciB7XG4gIEtlZXAsXG4gIEludmVydFxufVxuXG4vKiogRGVzY3JpYmVzIGFuIGl0ZW0gaW4gdGhlIHJvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm93IHtcbiAgLyoqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbS4gKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKiogSWYgdGhlIHJvdyBoYXMgY2hpbGQgbm9kZXMgaW4gYSB0cmVlIGdyaWQgKi9cbiAgaGFzQ2hpbGRyZW4/OiBib29sZWFuO1xuXG4gIC8qKiAgVGhlIHBhcmVudCByb3cgaW4gY2FzZSBvZiBhIHRyZWUgZ3JpZCAqL1xuICBwYXJlbnRSb3c/OiBSb3c7XG5cbiAgLyoqIFBhZ2luYXRpb24gc3RhdHMgZm9yIGNoaWxkIGVsZW1lbnRzICovXG4gIGNoaWxkcmVuU3RhdHM/OiBEYXRhU291cmNlU3RhdHM7XG5cbiAgLyoqIFBhZ2luYXRpb24gc2V0dGluZ3MgZm9yIGxvYWRpbmcgY2hpbGQgcm93cyAqL1xuICBwYWdpbmF0aW9uPzogUGFnaW5hdGlvbjtcblxuICAvKiogQW55IGl0ZW0gcHJvcGVydHkuICovXG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuLyoqIERlc2NyaWJlcyBhIHBhZ2luYXRpb24gb2JqZWN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uIHtcbiAgLyoqIFRoZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFnZS4gKi9cbiAgY3VycmVudFBhZ2U/OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgdGhlIG5leHQgcGFnZS4gKi9cbiAgbmV4dFBhZ2U/OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgb24gYSBzaW5nbGUgcGFnZS4gKi9cbiAgcGFnZVNpemU6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGZldGNoIHNlcnZlciBkYXRhLlxuICogQHBhcmFtIGRhdGFTb3VyY2VNb2RpZmllciBUaGUgY3VycmVudCBkYXRhIHNvdXJjZSBtb2RpZmllci5cbiAqIEByZXR1cm5zIFJldHVybnMgdGhlIHJlc3VsdCBmcm9tIHNlcnZlci5cbiAqL1xuZXhwb3J0IHR5cGUgU2VydmVyU2lkZURhdGFDYWxsYmFjayA9IChcbiAgZGF0YVNvdXJjZU1vZGlmaWVyOiBEYXRhU291cmNlTW9kaWZpZXJcbikgPT4gU2VydmVyU2lkZURhdGFSZXN1bHQgfCBQcm9taXNlPFNlcnZlclNpZGVEYXRhUmVzdWx0PiB8IE9ic2VydmFibGU8U2VydmVyU2lkZURhdGFSZXN1bHQ+O1xuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBzb3VyY2UgbW9kaWZpZXIgZm9yIHJlcXVlc3Rpbmcgc2VydmVyIGRhdGEuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2VNb2RpZmllciB7XG4gIC8qKiBUaGUgbGlzdCBvZiBjb2x1bW5zLiAqL1xuICBjb2x1bW5zOiBDb2x1bW5bXTtcblxuICAvKiogVGV4dCB0byBzZWFyY2guICovXG4gIHNlYXJjaFRleHQ6IHN0cmluZztcblxuICAvKiogUGFnaW5hdGlvbiBvYmplY3QuICovXG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb247XG5cbiAgLyoqIFNlbGVjdGlvbiBpbmZvIG9iamVjdC4gKi9cbiAgc2VsZWN0aW9uOiB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBpcyBlbmFibGVkLiAqL1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5LiAqL1xuICAgIHByaW1hcnlLZXk6IHN0cmluZztcbiAgfTtcblxuICAvKiogVGhlIHBhcmVudCByb3cgaW4gY2FzZSBvZiBhIHRyZWUgZ3JpZCAqL1xuICBwYXJlbnRSb3c/OiBSb3c7XG59XG5cbi8qKiBEZXNjcmliZXMgYSByZXN1bHQgZnJvbSBzZXJ2ZXIgd2l0aCBkYXRhIGFuZCBhZGRpdGlvbmFsIHN0YXRpc3RpY3MuICovXG5leHBvcnQgdHlwZSBTZXJ2ZXJTaWRlRGF0YVJlc3VsdCA9IElSZXN1bHRMaXN0PG9iamVjdD4gJiB7XG4gIC8qKiBUaGUgcmVhbCBncmFuZCB0b3RhbCBudW1iZXIgb2YgaXRlbXMgKHRoZSB3aG9sZSBkYXRhc2V0KS4gKi9cbiAgc2l6ZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIGFmdGVyIGZpbHRlcmluZyBhcHBsaWVkIHRvIHRoZSB3aG9sZSBkYXRhc2V0IChzdWJzZXQpLiAqL1xuICBmaWx0ZXJlZFNpemU6IG51bWJlcjtcblxuICAvKiogVGhlIGxpc3Qgb2YgaWRzIG9mIGFsbCBmaWx0ZXJlZCBpdGVtcyAoc3Vic2V0KS4gKi9cbiAgZmlsdGVyZWREYXRhSWRzPzogc3RyaW5nW107XG5cbiAgLyoqIFRoZSByb3cgdG8gd2hpY2ggdGhlIHJlc3VsdHMgaGFzIHRvIGJlIGFzc2lnbmVkIGFzIGNoaWxkIHJvd3MgKi9cbiAgcGFyZW50Um93PzogUm93O1xufTtcblxuLyoqIERlc2NyaWJlcyBhbiBvYmplY3Qgd2l0aCBkYXRhIHNvdXJjZSBzdGF0aXN0aWNzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU291cmNlU3RhdHMge1xuICAvKiogVGhlIHJlYWwgZ3JhbmQgdG90YWwgbnVtYmVyIG9mIGl0ZW1zICh0aGUgd2hvbGUgZGF0YXNldCkuICovXG4gIHNpemU6IG51bWJlcjtcblxuICAvKiogVGhlIG51bWJlciBvZiBpdGVtcyBhZnRlciBmaWx0ZXJpbmcgYXBwbGllZCB0byB0aGUgd2hvbGUgZGF0YXNldCAoc3Vic2V0KS4gKi9cbiAgZmlsdGVyZWRTaXplOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFnZS4gKi9cbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcblxuICAvKiogVGhlIG51bWJlciBvZiB0aGUgbmV4dCBwYWdlLiAqL1xuICBuZXh0UGFnZT86IG51bWJlcjtcblxuICAvKiogVGhlIG51bWJlciBvZiBpdGVtcyBjdXJyZW50bHkgc2hvd24gaW4gdGhlIGxpc3QgdmlldywgYS5rLmEuIGN1cnJlbnQgcGFnZSAod2hhdCB0aGUgdXNlciBzZWVzIG9uIHNjcmVlbikuICovXG4gIGN1cnJlbnRQYWdlU2l6ZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIG9uIHRoZSBmaXJzdCBwYWdlLiAgKi9cbiAgZmlyc3RQYWdlU2l6ZTogbnVtYmVyO1xufVxuXG4vKiogRGVzY3JpYmVzIGRhdGEgZ3JpZCBkaXNwbGF5IG9wdGlvbnMuICovXG5leHBvcnQgaW50ZXJmYWNlIERpc3BsYXlPcHRpb25zIHtcbiAgLyoqIFNob3cgb3IgaGlkZSB6ZWJyYS1zdHJpcGluZyBpbiB0aGUgdGFibGUgKi9cbiAgc3RyaXBlZDogYm9vbGVhbjtcblxuICAvKiogU2hvdyBvciBoaWRlIGVhY2ggY2VsbCBib3JkZXIgKi9cbiAgYm9yZGVyZWQ6IGJvb2xlYW47XG5cbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgZ3JpZCBoZWFkZXIgKi9cbiAgZ3JpZEhlYWRlcjogYm9vbGVhbjtcblxuICAvKiogU2hvdyBvciBoaWRlIGZpbHRlciBsYWJlbCBpbiB0aGUgZ3JpZCBoZWFkZXIgKi9cbiAgZmlsdGVyOiBib29sZWFuO1xuXG4gIC8qKiBFbmFibGUgdG8gZGlzcGxheSBhIGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgKi9cbiAgaG92ZXI6IGJvb2xlYW47XG59XG5cbi8qKiBEZXNjcmliZXMgYSBkYXRhIGdyaWQgYWN0aW9uIGNvbnRyb2wgZm9yIGluZGl2aWR1YWwgaXRlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udHJvbCB7XG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgYWN0aW9uLCBwcmVkZWZpbmVkIG9yIGN1c3RvbS4gKi9cbiAgdHlwZTogQnVpbHRJbkFjdGlvblR5cGUgfCBzdHJpbmc7XG5cbiAgLyoqIFRoZSBsYWJlbCBmb3IgdGhlIGFjdGlvbiBidXR0b24uICovXG4gIHRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBpY29uIGZvciB0aGUgYWN0aW9uIGJ1dHRvbi4gKi9cbiAgaWNvbj86IFN1cHBvcnRlZEljb25zU3VnZ2VzdGlvbnM7XG5cbiAgLyoqIFRoZSBpY29uIGNsYXNzZXMgZm9yIHRoZSBhY3Rpb24gYnV0dG9uIGljb24uICovXG4gIGljb25DbGFzc2VzPzogc3RyaW5nO1xuXG4gIC8qKiBBY3Rpb24gaWNvbiB3aWxsIGJlIHZpc2libGUgb24gaG92ZXIgb25seSAqL1xuICBzaG93T25Ib3Zlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBpdGVtIFRoZSBpdGVtIHRvIHBlcmZvcm0gdGhlIGFjdGlvbiBvbi5cbiAgICogQHBhcmFtIHJlbG9hZCBUaGUgZnVuY3Rpb24gdG8gY2FsbCwgaWYgeW91IHdhbnQgdG8gcmVsb2FkIHRoZSBncmlkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgY2FsbGJhY2s6ICgoaXRlbTogUm93LCByZWxvYWQ6ICgpID0+IHZvaWQpID0+IHZvaWQpIHwgRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGFjdGlvbiBzaG91bGQgYmUgc2hvd24gZm9yIGdpdmVuIGl0ZW0gKGlmIG5vdCBkZWZpbmVkLCB0aGUgYWN0aW9uIHdpbGwgYmUgc2hvd24gYWx3YXlzKS5cbiAgICogQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gZm9yIHdoaWNoIHRoZSBhY3Rpb24gaXMgc3VwcG9zZWQgdG8gYmUgcGVyZm9ybWVkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgc2hvd0lmPzogKChpdGVtOiBSb3cgJiBzdHJpbmdbXSkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+KSB8IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBvcmRlciBpbiB3aGljaCBhY3Rpb24gY29udHJvbHMgYXBwZWFyLiBIaWdoZXIgdmFsdWUgbWVhbnMgZWFybGllciBwb3NpdGlvbi5cbiAgICogQ29udHJvbHMgd2l0aG91dCBwcmlvcml0eSBhcmUgaGFuZGxlZCB3aXRoIHByaW9yaXR5ID0gMC4gSWYgeW91IHdhbnQgdG8gcGxhY2UgYW4gYWN0aW9uIGFmdGVyXG4gICAqIGFuIGFjdGlvbiB3aXRob3V0IHByaW9yaXR5LCBuZWdhdGl2ZSBudW1iZXJzIGNhbiBiZSB1c2VkLlxuICAgKi9cbiAgcHJpb3JpdHk/OiBudW1iZXI7XG5cbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBncmlkIGFjdGlvbiBjb250cm9sIGZvciBtdWx0aXBsZSBpdGVtcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVsa0FjdGlvbkNvbnRyb2wgZXh0ZW5kcyBBY3Rpb25Db250cm9sIHtcbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1JZHMgVGhlIGxpc3Qgb2YgaWRzIG9mIHRoZSBzZWxlY3RlZCBpdGVtcy5cbiAgICogQHBhcmFtIHJlbG9hZCBUaGUgZnVuY3Rpb24gdG8gY2FsbCwgaWYgeW91IHdhbnQgdG8gcmVsb2FkIHRoZSBncmlkLlxuICAgKi9cbiAgY2FsbGJhY2soc2VsZWN0ZWRJdGVtSWRzOiBzdHJpbmdbXSwgcmVsb2FkOiAoKSA9PiB2b2lkKTogdm9pZDtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgYWN0aW9uIHNob3VsZCBiZSBzaG93biBmb3IgZ2l2ZW4gc2VsZWN0ZWQgaXRlbXMgKGlmIG5vdCBkZWZpbmVkLCB0aGUgYWN0aW9uIHdpbGwgYmUgc2hvd24gYWx3YXlzKS5cbiAgICogQHBhcmFtIHNlbGVjdGVkSXRlbUlkcyBUaGUgbGlzdCBvZiBpZHMgb2YgdGhlIHNlbGVjdGVkIGl0ZW1zIGZvciB3aGljaCB0aGUgYWN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHBlcmZvcm1lZC5cbiAgICovXG4gIHNob3dJZj8oc2VsZWN0ZWRJdGVtSWRzOiBzdHJpbmdbXSk6IGJvb2xlYW47XG59XG5cbi8qKiBEZXNjcmliZXMgYSBkYXRhIGdyaWQgYWN0aW9uIGNvbnRyb2wgZm9yIHRoZSBoZWFkZXIuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlckFjdGlvbkNvbnRyb2wgZXh0ZW5kcyBBY3Rpb25Db250cm9sIHtcbiAgLyoqXG4gICAqIEN1c3RvbSB0ZW1wbGF0ZSBjYW4gYmUgcHJvdmlkZWQuIElmIG5vIHRlbXBsYXRlIGlzIHByb3ZpZGVkLFxuICAgKiB0aGUgZGVmYXVsdCBoZWFkZXJBY3Rpb25Db250cm9sIHRlbXBsYXRlIGlzIHVzZWQuXG4gICAqL1xuICB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqL1xuICBjYWxsYmFjaygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBhY3Rpb24gc2hvdWxkIGJlIHNob3duLlxuICAgKi9cbiAgc2hvd0lmPygpOiBib29sZWFuO1xufVxuXG4vKiogUHJlZGVmaW5lZCB0eXBlcyBvZiBhY3Rpb25zLiAqL1xuZXhwb3J0IGVudW0gQnVpbHRJbkFjdGlvblR5cGUge1xuICAvKiogRWRpdCBidWlsdC1pbiBhY3Rpb24uICovXG4gIEVkaXQgPSAnRURJVCcsXG5cbiAgLyoqIERlbGV0ZSBidWlsdC1pbiBhY3Rpb24uICovXG4gIERlbGV0ZSA9ICdERUxFVEUnLFxuXG4gIC8qKiBFeHBvcnQgYnVpbHQtaW4gYWN0aW9uLiAqL1xuICBFeHBvcnQgPSAnRVhQT1JUJ1xufVxuXG4vKipcbiAqIEFsbG93cyB0byBhdHRhY2ggYWN0aW9uIGNvbnRyb2xzIHRvIHNwZWNpZmllZCBncmlkcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db250cm9sSG9vayB7XG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIGNvbnRyb2wocykgdGhhdCB3aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBncmlkLlxuICAgKi9cbiAgYWN0aW9uQ29udHJvbHM6IEFjdGlvbkNvbnRyb2wgfCBBY3Rpb25Db250cm9sW107XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9ucyB0aGF0IGRldGVybWluZXMgdG8gd2hpY2ggZ3JpZChzKSB0aGUgYWN0aW9uIGNvbnRyb2wocykgd2lsbCBiZSBhdHRhY2hlZC5cbiAgICogTm90IHByb3ZpZGluZyBhIGZ1bmN0aW9uIHJlc3VsdHMgaW4gdGhlIGFjdGlvbnMgY29udHJvbChzKSBub3QgYmVpbmcgYXR0YWNoZWQgdG8gYW55IGdyaWQuXG4gICAqL1xuICBtYXRjaGVzR3JpZDogKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBjb250ZXh0PzogR3JpZENvbmZpZ0NvbnRleHRcbiAgKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB8IE9ic2VydmFibGU8Ym9vbGVhbj47XG59XG5cbi8qKlxuICogRmFjdG9yeSB0byBpbXBsZW1lbnQgaW4gb3JkZXIgdG8gYWRkIGFjdGlvbiBjb250cm9scyBmcm9tIGFuIGV4dGVuc2lvbi5cbiAqL1xuZXhwb3J0IHR5cGUgQWN0aW9uQ29udHJvbEZhY3RvcnkgPSBFeHRlbnNpb25GYWN0b3J5PEFjdGlvbkNvbnRyb2xIb29rPjtcblxuLyoqXG4gKiBEZWZpbmVzIGFuIGludGVyZmFjZSBmb3IgYSBmaWx0ZXIgY2hpcCBvYmplY3QsIHdoaWNoIHJlcHJlc2VudHMgYSBmaWx0ZXIgYXBwbGllZCB0byBhIGNvbHVtbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDaGlwIHtcbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgdmFsdWUgdGhhdCB0aGUgY2hpcCB3aWxsIGhvbGQuXG4gICAqIEl0IGNhbiBiZSBqdXN0IGEgc3RyaW5nIG9yIGEgbW9yZSBjb21wbGV4IG9iamVjdCBsaWtlXG4gICAqIHtpZDogMTIzLCBuYW1lOiBUZXN0LCB2YWx1ZTogdGVzdH0uXG4gICAqL1xuICB2YWx1ZTogYW55O1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdGhhdCB0aGUgY2hpcCB3aWxsIGRpc3BsYXkgaW4gdGhlIGRyb3Bkb3duLlxuICAgKi9cbiAgZGlzcGxheVZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGxhYmVsIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaWYgZmlsdGVyIGNoaXBzIGFyZSBzZXBhcmF0ZWQgaW50byBtdWx0aXBsZSBncm91cHMuXG4gICAqL1xuICBsYWJlbD86IHN0cmluZztcblxuICAvKiogQW4gb3B0aW9uYWwgcHJvcGVydHkgdGhhdCBob2xkcyB0aGUgcGF0aCB0byB0aGUgY2hpcCB2YWx1ZSBpbiB0aGUgZXh0ZXJuYWxGaWx0ZXJRdWVyeS4gKi9cbiAgcGF0aD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBwcm9wZXJ0eSB0aGF0IGhvbGRzIHRoZSBmb3JtIHZhbHVlIHRha2VuIGZyb20gdGhlIGNvbHVtbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgZXh0ZXJuYWxGaWx0ZXJRdWVyeT86IGFueTtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcHJvcGVydHkgdGhhdCBob2xkcyB0aGUgZm9ybWx5IGZpbHRlcmluZyBjb25maWd1cmF0aW9uIGZvciB0aGUgY29sdW1uIHRoYXQgdGhpcyBmaWx0ZXIgaXMgYXBwbGllZCB0by5cbiAgICovXG4gIGZpbHRlcmluZ0NvbmZpZz86IEZvcm1seUNvbHVtbkZpbHRlcmluZ0NvbmZpZztcblxuICAvKiogQW4gb3B0aW9uYWwgcHJvcGVydHkgdGhhdCBob2xkcyBhIHN0cmluZyB0byBzZWFyY2ggZm9yLiAqL1xuICBmaWx0ZXJQcmVkaWNhdGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gdGhhdCB0aGlzIGZpbHRlciBpcyBhcHBsaWVkIHRvLlxuICAgKi9cbiAgY29sdW1uTmFtZTogc3RyaW5nIHwgU3BlY2lhbENvbHVtbk5hbWU7XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGZ1bmN0aW9uIHRvIHJlbW92ZSB0aGlzIGZpbHRlciBmcm9tIHRoZSBjb2x1bW4uXG4gICAqIElmIG5vdCBwcm92aWRlZCB3aWxsIHNldCBkZWZhdWx0IHJlbW92YWwgZnVuY3Rpb24gdGhhdCB3aWxsIHJlZHVjZSB0aGUgZXh0ZXJuYWwgcXVlcnkgYnkgcmVtb3ZpbmcgdGhlIG9iamVjdCB0aGF0IGlzIHJlc29sdmVkIGJ5IHRoZSBwYXRoIHNldCBpbiB0aGUgRmlsdGVyQ2hpcC5cbiAgICogQHJldHVybnMgQW4gb2JqZWN0IGRlZmluZWQgYnkgdGhlIGBGaWx0ZXJDaGlwYCB0eXBlLCBpbmNsdWRpbmcgdGhlIGBjb2x1bW5OYW1lYCBhbmQgIHVwZGF0ZWQgYGV4dGVybmFsRmlsdGVyUXVlcnlgIG9yICdmaWx0ZXJQcmVkaWNhdGUnIHByb3BlcnRpZXMuXG4gICAqIFRoZSByZXR1cm5lZCBvYmplY3QgbWF5IGFsc28gaW5jbHVkZSBhZGRpdGlvbmFsIHByb3BlcnRpZXMgZGVmaW5lZCBieSB0aGUgYEZpbHRlckNoaXBgIHR5cGUgYXMgcGFydGlhbHMuXG4gICAqL1xuICByZW1vdmU/OiAoKSA9PiBQYXJ0aWFsRmlsdGVyQ2hpcFJlbW92YWxUeXBlO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYXJ0aWFsIGZpbHRlciBjaGlwIHdpdGggZWl0aGVyICdjb2x1bW5OYW1lJyBhbmQgJ2V4dGVybmFsRmlsdGVyUXVlcnknIG9yICdjb2x1bW5OYW1lJyBhbmQgJ2ZpbHRlclByZWRpY2F0ZScuXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBQYXJ0aWFsRmlsdGVyQ2hpcFJlbW92YWxUeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY29sdW1uTmFtZSAtIFRoZSBjb2x1bW4gbmFtZSBmb3IgdGhlIGZpbHRlciBjaGlwLlxuICogQHByb3BlcnR5IHthbnl9IFtleHRlcm5hbEZpbHRlclF1ZXJ5XSAtIFRoZSBleHRlcm5hbCBmaWx0ZXIgcXVlcnkgZm9yIHRoZSBjaGlwIHVzZWQgZm9yIGNvbXBsZXggZmlsdGVycy5cbiAqIEBwcm9wZXJ0eSB7YW55fSBbZmlsdGVyUHJlZGljYXRlXSAtIFRoZSBmaWx0ZXJpbmcgcHJlZGljYXRlIGZvciB0aGUgY2hpcCB1c2VkIGZvciBzaW1wbGUgZmlsdGVycyB3aXRoIGNsaWVudC1zaWRlIGZpbHRlcmluZy5cbiAqIEBwcm9wZXJ0eSB7Li4uRmlsdGVyQ2hpcH0gW29wdGlvbmFsUHJvcGVydGllc10gLSBPcHRpb25hbCBwcm9wZXJ0aWVzIGZyb20gdGhlIEZpbHRlckNoaXAgdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgUGFydGlhbEZpbHRlckNoaXBSZW1vdmFsVHlwZSA9IChcbiAgfCBSZXF1aXJlZDxQaWNrPEZpbHRlckNoaXAsICdjb2x1bW5OYW1lJyB8ICdleHRlcm5hbEZpbHRlclF1ZXJ5Jz4+XG4gIHwgUmVxdWlyZWQ8UGljazxGaWx0ZXJDaGlwLCAnY29sdW1uTmFtZScgfCAnZmlsdGVyUHJlZGljYXRlJz4+XG4pICZcbiAgUGFydGlhbDxGaWx0ZXJDaGlwPjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcGFydGlhbCBmaWx0ZXIgY2hpcCB3aXRoIHJlcXVpcmVkIHByb3BlcnRpZXMgJ2Rpc3BsYXlWYWx1ZScgYW5kICd2YWx1ZScuXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBQYXJ0aWFsRmlsdGVyQ2hpcEdlbmVyYXRpb25UeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gZGlzcGxheVZhbHVlIC0gVGhlIGRpc3BsYXkgdmFsdWUgZm9yIHRoZSBmaWx0ZXIgY2hpcC5cbiAqIEBwcm9wZXJ0eSB7YW55fSB2YWx1ZSAtIFRoZSB2YWx1ZSBmb3IgdGhlIGZpbHRlciBjaGlwLlxuICogQHByb3BlcnR5IHsuLi5GaWx0ZXJDaGlwfSBbb3B0aW9uYWxQcm9wZXJ0aWVzXSAtIE9wdGlvbmFsIHByb3BlcnRpZXMgZnJvbSB0aGUgRmlsdGVyQ2hpcCB0eXBlLlxuICovXG5leHBvcnQgdHlwZSBQYXJ0aWFsRmlsdGVyQ2hpcEdlbmVyYXRpb25UeXBlID0gUmVxdWlyZWQ8UGljazxGaWx0ZXJDaGlwLCAnZGlzcGxheVZhbHVlJyB8ICd2YWx1ZSc+PiAmXG4gIFBhcnRpYWw8RmlsdGVyQ2hpcD47XG5cbi8qKlxuICogRGVmaW5lcyBhbiBpbnRlcmZhY2UgZm9yIGEgbWFwcGVyIGZ1bmN0aW9uIHRoYXQgbWFwcyBhIGBGb3JtbHlGaWVsZENvbmZpZ2AgdG8gYSBgRmlsdGVyQ2hpcGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyTWFwcGVyIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9yIHR5cGVzIG9mIHRoZSBgRm9ybWx5RmllbGRDb25maWdgIHRoYXQgdGhpcyBtYXBwZXIgYXBwbGllcyB0by5cbiAgICovXG4gIGZpZWxkVHlwZTogc3RyaW5nW10gfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1hcHMgYSBgRm9ybWx5RmllbGRDb25maWdgIGFuZCBhIGBGaWx0ZXJDaGlwYCB0byBhbiBgT2JzZXJ2YWJsZWAgb2YgYSBgRmlsdGVyQ2hpcGAuXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gZXh0ZW5kcyB0aGUgcHJvdmlkZWQgYEZpbHRlckNoaXBgIG9iamVjdCB3aXRoIGFkZGl0aW9uYWwgcHJvcGVydGllcyBiYXNlZCBvbiB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIGBGb3JtbHlGaWVsZENvbmZpZ2AuXG4gICAqIFRoZSBtYXBwaW5nIHByb2Nlc3MgZGVwZW5kcyBvbiB0aGUgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIGBGaWx0ZXJNYXBwZXJgLlxuICAgKlxuICAgKiBAcGFyYW0gZmllbGQgLSBUaGUgYEZvcm1seUZpZWxkQ29uZmlnYCB0byBtYXAuXG4gICAqIEBwYXJhbSBmaWx0ZXIgLSBUaGUgYEZpbHRlckNoaXBgIHRvIG1hcC5cbiAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHRoYXQgZW1pdHMgdGhlIG1hcHBlZCBgRmlsdGVyQ2hpcGAuXG4gICAqIElmIHVuZGVmaW5lZCBpcyByZXR1cm5lZCBhbiBlcnJvciBpcyB0aHJvd24gYW5kIHRoZSBjaGlwIGlzIG5vdCB2aXN1YWxpemVkLlxuICAgKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIC8vIEV4YW1wbGUgaW1wbGVtZW50YXRpb24gb2YgYG1hcGAgZnVuY3Rpb24gaW4gYSBgRmlsdGVyTWFwcGVyYFxuICAgKiBtYXAoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBmaWx0ZXI6IEZpbHRlckNoaXApOiBPYnNlcnZhYmxlPEZpbHRlckNoaXA+IHtcbiAgICogICBpZiAodGhpcy5maWVsZFR5cGUuaW5jbHVkZXMoZmllbGQudHlwZS50b1N0cmluZygpKSkge1xuICAgKiAgICAgcmV0dXJuIHRvT2JzZXJ2YWJsZShmaWVsZC50ZW1wbGF0ZU9wdGlvbnMub3B0aW9ucykucGlwZShcbiAgICogICAgICAgbWFwKG9wdGlvbnMgPT4ge1xuICAgKiAgICAgICAgIGNvbnN0IG9iamVjdCA9IG9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSBnZXQoZmlsdGVyLmV4dGVybmFsRmlsdGVyUXVlcnksIGZpbHRlci5wYXRoKSk7XG4gICAqICAgICAgICAgcmV0dXJuIHtcbiAgICogICAgICAgICAgIC4uLmZpbHRlcixcbiAgICogICAgICAgICAgIHZhbHVlOiBvYmplY3QsXG4gICAqICAgICAgICAgICBkaXNwbGF5VmFsdWU6IG9iamVjdD8ubGFiZWxcbiAgICogICAgICAgICB9O1xuICAgKiAgICAgICB9KVxuICAgKiAgICAgKTtcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBtYXA6IChmaWVsZDogRm9ybWx5RmllbGRDb25maWcsIGZpbHRlcjogRmlsdGVyQ2hpcCkgPT4gT2JzZXJ2YWJsZTxGaWx0ZXJDaGlwPjtcbn1cbiJdfQ==
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { chunk, flow, get, isNil, mapValues, omitBy, orderBy } from 'lodash-es';
|
|
1
|
+
import { chunk, findIndex, flow, get, isNil, mapValues, omitBy, orderBy } from 'lodash-es';
|
|
2
2
|
import { BehaviorSubject, defer, of, Subject } from 'rxjs';
|
|
3
3
|
import { catchError, finalize, map, switchMap, tap } from 'rxjs/operators';
|
|
4
4
|
import { toObservable } from '../common/extension-hooks';
|
|
5
5
|
export class GridDataSource {
|
|
6
|
+
set childNodesProperty(name) {
|
|
7
|
+
this.childNodesPropertyName = name ?? 'childNodes';
|
|
8
|
+
}
|
|
6
9
|
constructor() {
|
|
7
10
|
this.loadingSubject = new BehaviorSubject(true);
|
|
8
11
|
this.dataSourceSubject = new BehaviorSubject([]);
|
|
@@ -17,11 +20,14 @@ export class GridDataSource {
|
|
|
17
20
|
filteredDataIds: []
|
|
18
21
|
});
|
|
19
22
|
this.resultListSubject = new Subject();
|
|
23
|
+
this.nodesLoadingSubject = new BehaviorSubject([]);
|
|
24
|
+
this.childNodesPropertyName = 'childNodes';
|
|
20
25
|
this.loading$ = this.loadingSubject.asObservable();
|
|
21
26
|
this.data$ = this.dataSourceSubject.asObservable();
|
|
22
27
|
this.stats$ = this.dataStatsSubject.asObservable();
|
|
23
28
|
this.selection$ = this.dataSelectionSubject.asObservable();
|
|
24
29
|
this.resultList$ = this.resultListSubject.asObservable();
|
|
30
|
+
this.nodesLoading$ = this.nodesLoadingSubject.asObservable();
|
|
25
31
|
}
|
|
26
32
|
connect(_collectionViewer) {
|
|
27
33
|
return this.data$;
|
|
@@ -31,9 +37,15 @@ export class GridDataSource {
|
|
|
31
37
|
this.dataSourceSubject.complete();
|
|
32
38
|
this.dataStatsSubject.complete();
|
|
33
39
|
this.dataSelectionSubject.complete();
|
|
40
|
+
this.resultListSubject.complete();
|
|
34
41
|
}
|
|
35
|
-
loadData({ rows, columns, pagination, searchText, serverSideDataCallback, selectable, selectionPrimaryKey, infiniteScroll, reload = false }) {
|
|
42
|
+
loadData({ rows, columns, pagination, searchText, serverSideDataCallback, selectable, selectionPrimaryKey, infiniteScroll, reload = false, parentRow = null }) {
|
|
36
43
|
const clientSideData$ = toObservable(rows).pipe(map(initialData => {
|
|
44
|
+
if (!!parentRow) {
|
|
45
|
+
return parentRow[this.childNodesPropertyName] || [];
|
|
46
|
+
}
|
|
47
|
+
return initialData;
|
|
48
|
+
}), map(initialData => {
|
|
37
49
|
let filteredSize = 0;
|
|
38
50
|
let filteredDataIds = [];
|
|
39
51
|
const transformedData = flow(data => this.doClientSideSearch({ data, columns, searchText }), data => this.doClientSideFiltering({ data, columns }), data => this.doClientSideSorting({ data, columns }), data => {
|
|
@@ -43,13 +55,15 @@ export class GridDataSource {
|
|
|
43
55
|
: filteredDataIds;
|
|
44
56
|
return data;
|
|
45
57
|
}, data => this.doClientSidePagination({ data, pagination }))(initialData);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
58
|
+
if (!parentRow) {
|
|
59
|
+
this.dataStatsSubject.next({
|
|
60
|
+
size: initialData.length,
|
|
61
|
+
filteredSize,
|
|
62
|
+
currentPage: pagination.currentPage,
|
|
63
|
+
currentPageSize: transformedData.length,
|
|
64
|
+
firstPageSize: pagination.pageSize
|
|
65
|
+
});
|
|
66
|
+
}
|
|
53
67
|
this.dataSelectionSubject.next({ filteredDataIds });
|
|
54
68
|
return transformedData;
|
|
55
69
|
}));
|
|
@@ -57,24 +71,44 @@ export class GridDataSource {
|
|
|
57
71
|
columns,
|
|
58
72
|
searchText,
|
|
59
73
|
pagination,
|
|
60
|
-
selection: { enabled: selectable, primaryKey: selectionPrimaryKey }
|
|
74
|
+
selection: { enabled: selectable, primaryKey: selectionPrimaryKey },
|
|
75
|
+
parentRow
|
|
61
76
|
}))).pipe(map((result) => {
|
|
62
77
|
const { data, paging, size, filteredSize, filteredDataIds } = result;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
78
|
+
if (!parentRow) {
|
|
79
|
+
this.dataStatsSubject.next({
|
|
80
|
+
size,
|
|
81
|
+
filteredSize,
|
|
82
|
+
currentPage: paging.currentPage,
|
|
83
|
+
currentPageSize: data.length,
|
|
84
|
+
nextPage: paging.nextPage,
|
|
85
|
+
firstPageSize: paging.pageSize
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
/* Add additional row to be rendered as pagination row containing statistics data */
|
|
90
|
+
const childrenStats = {
|
|
91
|
+
size,
|
|
92
|
+
filteredSize,
|
|
93
|
+
currentPage: paging.currentPage,
|
|
94
|
+
currentPageSize: data.length,
|
|
95
|
+
nextPage: paging.nextPage,
|
|
96
|
+
firstPageSize: paging.pageSize
|
|
97
|
+
};
|
|
98
|
+
data.push({
|
|
99
|
+
/* θpagination is an internal flag for pagination rows */
|
|
100
|
+
θpagination: true,
|
|
101
|
+
childrenStats,
|
|
102
|
+
parentRow
|
|
103
|
+
});
|
|
104
|
+
}
|
|
71
105
|
this.dataSelectionSubject.next({ filteredDataIds: filteredDataIds || [] });
|
|
72
106
|
this.resultListSubject.next(result);
|
|
73
107
|
return data;
|
|
74
108
|
}));
|
|
75
109
|
const data$ = typeof serverSideDataCallback === 'function' ? serverSideData$ : clientSideData$;
|
|
76
110
|
of([])
|
|
77
|
-
.pipe(tap(() => this.
|
|
111
|
+
.pipe(tap(() => this.emitLoadingStart(parentRow)), switchMap(() => data$), catchError(() => {
|
|
78
112
|
this.dataStatsSubject.next({
|
|
79
113
|
size: 0,
|
|
80
114
|
filteredSize: 0,
|
|
@@ -84,12 +118,28 @@ export class GridDataSource {
|
|
|
84
118
|
});
|
|
85
119
|
this.dataSelectionSubject.next({ filteredDataIds: [] });
|
|
86
120
|
return of([]);
|
|
87
|
-
}), finalize(() => this.
|
|
121
|
+
}), finalize(() => this.emitLoadingEnd(parentRow)))
|
|
88
122
|
.subscribe(result => {
|
|
89
|
-
|
|
123
|
+
let data;
|
|
124
|
+
if (parentRow) {
|
|
125
|
+
result.forEach(item => (item.parentRow = parentRow));
|
|
126
|
+
data = this.dataSourceSubject.value;
|
|
127
|
+
/* Replace child rows with next page data when paginating */
|
|
128
|
+
const parentRowIndex = data.indexOf(parentRow);
|
|
129
|
+
const paginationRowIndex = findIndex(data, r => r.θpagination && r.parentRow === parentRow);
|
|
130
|
+
const numberOfRowsToRemove = paginationRowIndex > -1 ? paginationRowIndex - parentRowIndex : 0;
|
|
131
|
+
data.splice(parentRowIndex + 1, numberOfRowsToRemove, ...result);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
data = infiniteScroll && !reload ? [...this.dataSourceSubject.value, ...result] : result;
|
|
135
|
+
}
|
|
90
136
|
this.dataSourceSubject.next(data);
|
|
91
137
|
});
|
|
92
138
|
}
|
|
139
|
+
collapseNode(row) {
|
|
140
|
+
const data = this.dataSourceSubject.value.filter((item) => !this.isParent(item, row));
|
|
141
|
+
this.dataSourceSubject.next(data);
|
|
142
|
+
}
|
|
93
143
|
resolveValue(x, path) {
|
|
94
144
|
return get(x, path);
|
|
95
145
|
}
|
|
@@ -99,6 +149,22 @@ export class GridDataSource {
|
|
|
99
149
|
normalizeNil(x) {
|
|
100
150
|
return isNil(x) ? '' : x;
|
|
101
151
|
}
|
|
152
|
+
emitLoadingStart(parentRow) {
|
|
153
|
+
if (parentRow) {
|
|
154
|
+
this.nodesLoadingSubject.next([...this.nodesLoadingSubject.value, parentRow]);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this.loadingSubject.next(true);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
emitLoadingEnd(parentRow) {
|
|
161
|
+
if (parentRow) {
|
|
162
|
+
this.nodesLoadingSubject.next(this.nodesLoadingSubject.value.filter(item => item !== parentRow));
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
this.loadingSubject.next(false);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
102
168
|
doClientSideFiltering({ data, columns }) {
|
|
103
169
|
return columns.reduce((result, column) => {
|
|
104
170
|
const { filterPredicate } = column;
|
|
@@ -140,6 +206,10 @@ export class GridDataSource {
|
|
|
140
206
|
createRegexSearch(filterValue) {
|
|
141
207
|
return RegExp(escapeRegExpPattern(filterValue), 'i');
|
|
142
208
|
}
|
|
209
|
+
isParent(row, parentRow) {
|
|
210
|
+
return (!!row?.parentRow &&
|
|
211
|
+
(row.parentRow.id === parentRow.id || this.isParent(row.parentRow, parentRow)));
|
|
212
|
+
}
|
|
143
213
|
}
|
|
144
214
|
/**
|
|
145
215
|
*
|
|
@@ -150,4 +220,4 @@ export class GridDataSource {
|
|
|
150
220
|
function escapeRegExpPattern(pattern = '') {
|
|
151
221
|
return pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
152
222
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvZGF0YS1ncmlkL2dyaWQtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pELE1BQU0sT0FBTyxjQUFjO0lBcUJ6QjtRQWRRLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7UUFDdEQscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQWtCO1lBQzlELElBQUksRUFBRSxDQUFDO1lBQ1AsWUFBWSxFQUFFLENBQUM7WUFDZixXQUFXLEVBQUUsQ0FBQztZQUNkLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLGFBQWEsRUFBRSxDQUFDO1NBQ2pCLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFNO1lBQ3RELGVBQWUsRUFBRSxFQUFFO1NBQ3BCLENBQUMsQ0FBQztRQUNLLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO1FBRzdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQsT0FBTyxDQUFDLGlCQUFtQztRQUN6QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxpQkFBbUM7UUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxVQUFVLEVBQ1YsVUFBVSxFQUNWLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxNQUFNLEdBQUcsS0FBSyxFQUNmO1FBQ0MsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hCLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztZQUNyQixJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFFekIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFDOUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFDckQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFDbkQsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzNCLGVBQWUsR0FBRyxVQUFVO29CQUMxQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO29CQUM3QyxDQUFDLENBQUMsZUFBZSxDQUFDO2dCQUVwQixPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsRUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUMxRCxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRWYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDekIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNO2dCQUN4QixZQUFZO2dCQUNaLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztnQkFDbkMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxNQUFNO2dCQUN2QyxhQUFhLEVBQUUsVUFBVSxDQUFDLFFBQVE7YUFDbkMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7WUFFcEQsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FDakMsWUFBWSxDQUNWLHNCQUFzQixDQUFDO1lBQ3JCLE9BQU87WUFDUCxVQUFVO1lBQ1YsVUFBVTtZQUNWLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFO1NBQ3BFLENBQUMsQ0FDSCxDQUNGLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLE1BQTRCLEVBQUUsRUFBRTtZQUNuQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sQ0FBQztZQUNyRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2dCQUN6QixJQUFJO2dCQUNKLFlBQVk7Z0JBQ1osV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO2dCQUMvQixlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQzVCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtnQkFDekIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2FBQy9CLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLEVBQUUsZUFBZSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVwQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixNQUFNLEtBQUssR0FBRyxPQUFPLHNCQUFzQixLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFFL0YsRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUNILElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDekIsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsWUFBWSxFQUFFLENBQUM7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsZUFBZSxFQUFFLENBQUM7Z0JBQ2xCLGFBQWEsRUFBRSxDQUFDO2FBQ2pCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDaEQ7YUFDQSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEdBQ1IsY0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDcEYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUk7UUFDbEIsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxlQUFlLENBQUMsQ0FBQztRQUNmLE9BQU8sT0FBTyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBQztRQUNaLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8scUJBQXFCLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1FBQzdDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDO1lBRW5DLElBQUksT0FBTyxlQUFlLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixJQUFJLEVBQUUsTUFBTTtvQkFDWixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7b0JBQ2pCLFVBQVUsRUFBRSxlQUFlO2lCQUM1QixDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxPQUFPLGVBQWUsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuRSxDQUFDO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDdEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFbkYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FDakMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUNoRCxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUN2QyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQ3RCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFUixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFFekQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtRQUMzQyxNQUFNLE9BQU8sR0FBYSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sWUFBWSxHQUFHO1lBQ25CLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUNsRCxDQUFDO1FBRUYsT0FBTyxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7UUFDakQsT0FBTyxVQUFVO1lBQ2YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdkUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxXQUFXO1FBQ25DLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxPQUFPLEdBQUcsRUFBRTtJQUN2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgSVJlc3VsdExpc3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBjaHVuaywgZmxvdywgZ2V0LCBpc05pbCwgbWFwVmFsdWVzLCBvbWl0QnksIG9yZGVyQnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWZlciwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnLi4vY29tbW9uL2V4dGVuc2lvbi1ob29rcyc7XG5pbXBvcnQgeyBDb2x1bW4sIERhdGFTb3VyY2VTdGF0cywgU2VydmVyU2lkZURhdGFSZXN1bHQgfSBmcm9tICcuL2RhdGEtZ3JpZC5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBHcmlkRGF0YVNvdXJjZSBpbXBsZW1lbnRzIERhdGFTb3VyY2U8b2JqZWN0PiB7XG4gIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBkYXRhJDogT2JzZXJ2YWJsZTxvYmplY3RbXT47XG4gIHN0YXRzJDogT2JzZXJ2YWJsZTxEYXRhU291cmNlU3RhdHM+O1xuICBzZWxlY3Rpb24kOiBPYnNlcnZhYmxlPGFueT47XG4gIHJlc3VsdExpc3QkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PG9iamVjdD4+O1xuXG4gIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIGRhdGFTb3VyY2VTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxvYmplY3RbXT4oW10pO1xuICBwcml2YXRlIGRhdGFTdGF0c1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGFTb3VyY2VTdGF0cz4oe1xuICAgIHNpemU6IDAsXG4gICAgZmlsdGVyZWRTaXplOiAwLFxuICAgIGN1cnJlbnRQYWdlOiAwLFxuICAgIGN1cnJlbnRQYWdlU2l6ZTogMCxcbiAgICBmaXJzdFBhZ2VTaXplOiAwXG4gIH0pO1xuICBwcml2YXRlIGRhdGFTZWxlY3Rpb25TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHtcbiAgICBmaWx0ZXJlZERhdGFJZHM6IFtdXG4gIH0pO1xuICBwcml2YXRlIHJlc3VsdExpc3RTdWJqZWN0ID0gbmV3IFN1YmplY3Q8SVJlc3VsdExpc3Q8b2JqZWN0Pj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmRhdGEkID0gdGhpcy5kYXRhU291cmNlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnN0YXRzJCA9IHRoaXMuZGF0YVN0YXRzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnNlbGVjdGlvbiQgPSB0aGlzLmRhdGFTZWxlY3Rpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMucmVzdWx0TGlzdCQgPSB0aGlzLnJlc3VsdExpc3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgY29ubmVjdChfY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8b2JqZWN0W10+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhJDtcbiAgfVxuXG4gIGRpc2Nvbm5lY3QoX2NvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5kYXRhU291cmNlU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZGF0YVN0YXRzU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZGF0YVNlbGVjdGlvblN1YmplY3QuY29tcGxldGUoKTtcbiAgfVxuXG4gIGxvYWREYXRhKHtcbiAgICByb3dzLFxuICAgIGNvbHVtbnMsXG4gICAgcGFnaW5hdGlvbixcbiAgICBzZWFyY2hUZXh0LFxuICAgIHNlcnZlclNpZGVEYXRhQ2FsbGJhY2ssXG4gICAgc2VsZWN0YWJsZSxcbiAgICBzZWxlY3Rpb25QcmltYXJ5S2V5LFxuICAgIGluZmluaXRlU2Nyb2xsLFxuICAgIHJlbG9hZCA9IGZhbHNlXG4gIH0pIHtcbiAgICBjb25zdCBjbGllbnRTaWRlRGF0YSQgPSB0b09ic2VydmFibGUocm93cykucGlwZShcbiAgICAgIG1hcChpbml0aWFsRGF0YSA9PiB7XG4gICAgICAgIGxldCBmaWx0ZXJlZFNpemUgPSAwO1xuICAgICAgICBsZXQgZmlsdGVyZWREYXRhSWRzID0gW107XG5cbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWREYXRhID0gZmxvdyhcbiAgICAgICAgICBkYXRhID0+IHRoaXMuZG9DbGllbnRTaWRlU2VhcmNoKHsgZGF0YSwgY29sdW1ucywgc2VhcmNoVGV4dCB9KSxcbiAgICAgICAgICBkYXRhID0+IHRoaXMuZG9DbGllbnRTaWRlRmlsdGVyaW5nKHsgZGF0YSwgY29sdW1ucyB9KSxcbiAgICAgICAgICBkYXRhID0+IHRoaXMuZG9DbGllbnRTaWRlU29ydGluZyh7IGRhdGEsIGNvbHVtbnMgfSksXG4gICAgICAgICAgZGF0YSA9PiB7XG4gICAgICAgICAgICBmaWx0ZXJlZFNpemUgPSBkYXRhLmxlbmd0aDtcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YUlkcyA9IHNlbGVjdGFibGVcbiAgICAgICAgICAgICAgPyBkYXRhLm1hcChpdGVtID0+IGl0ZW1bc2VsZWN0aW9uUHJpbWFyeUtleV0pXG4gICAgICAgICAgICAgIDogZmlsdGVyZWREYXRhSWRzO1xuXG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGEgPT4gdGhpcy5kb0NsaWVudFNpZGVQYWdpbmF0aW9uKHsgZGF0YSwgcGFnaW5hdGlvbiB9KVxuICAgICAgICApKGluaXRpYWxEYXRhKTtcblxuICAgICAgICB0aGlzLmRhdGFTdGF0c1N1YmplY3QubmV4dCh7XG4gICAgICAgICAgc2l6ZTogaW5pdGlhbERhdGEubGVuZ3RoLFxuICAgICAgICAgIGZpbHRlcmVkU2l6ZSxcbiAgICAgICAgICBjdXJyZW50UGFnZTogcGFnaW5hdGlvbi5jdXJyZW50UGFnZSxcbiAgICAgICAgICBjdXJyZW50UGFnZVNpemU6IHRyYW5zZm9ybWVkRGF0YS5sZW5ndGgsXG4gICAgICAgICAgZmlyc3RQYWdlU2l6ZTogcGFnaW5hdGlvbi5wYWdlU2l6ZVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kYXRhU2VsZWN0aW9uU3ViamVjdC5uZXh0KHsgZmlsdGVyZWREYXRhSWRzIH0pO1xuXG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZERhdGE7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBzZXJ2ZXJTaWRlRGF0YSQgPSBkZWZlcigoKSA9PlxuICAgICAgdG9PYnNlcnZhYmxlKFxuICAgICAgICBzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrKHtcbiAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgIHNlYXJjaFRleHQsXG4gICAgICAgICAgcGFnaW5hdGlvbixcbiAgICAgICAgICBzZWxlY3Rpb246IHsgZW5hYmxlZDogc2VsZWN0YWJsZSwgcHJpbWFyeUtleTogc2VsZWN0aW9uUHJpbWFyeUtleSB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKS5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IFNlcnZlclNpZGVEYXRhUmVzdWx0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSwgcGFnaW5nLCBzaXplLCBmaWx0ZXJlZFNpemUsIGZpbHRlcmVkRGF0YUlkcyB9ID0gcmVzdWx0O1xuICAgICAgICB0aGlzLmRhdGFTdGF0c1N1YmplY3QubmV4dCh7XG4gICAgICAgICAgc2l6ZSxcbiAgICAgICAgICBmaWx0ZXJlZFNpemUsXG4gICAgICAgICAgY3VycmVudFBhZ2U6IHBhZ2luZy5jdXJyZW50UGFnZSxcbiAgICAgICAgICBjdXJyZW50UGFnZVNpemU6IGRhdGEubGVuZ3RoLFxuICAgICAgICAgIG5leHRQYWdlOiBwYWdpbmcubmV4dFBhZ2UsXG4gICAgICAgICAgZmlyc3RQYWdlU2l6ZTogcGFnaW5nLnBhZ2VTaXplXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGFTZWxlY3Rpb25TdWJqZWN0Lm5leHQoeyBmaWx0ZXJlZERhdGFJZHM6IGZpbHRlcmVkRGF0YUlkcyB8fCBbXSB9KTtcbiAgICAgICAgdGhpcy5yZXN1bHRMaXN0U3ViamVjdC5uZXh0KHJlc3VsdCk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBkYXRhJCA9IHR5cGVvZiBzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrID09PSAnZnVuY3Rpb24nID8gc2VydmVyU2lkZURhdGEkIDogY2xpZW50U2lkZURhdGEkO1xuXG4gICAgb2YoW10pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMubG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBkYXRhJCksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YVN0YXRzU3ViamVjdC5uZXh0KHtcbiAgICAgICAgICAgIHNpemU6IDAsXG4gICAgICAgICAgICBmaWx0ZXJlZFNpemU6IDAsXG4gICAgICAgICAgICBjdXJyZW50UGFnZTogMCxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlU2l6ZTogMCxcbiAgICAgICAgICAgIGZpcnN0UGFnZVNpemU6IDBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmRhdGFTZWxlY3Rpb25TdWJqZWN0Lm5leHQoeyBmaWx0ZXJlZERhdGFJZHM6IFtdIH0pO1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID1cbiAgICAgICAgICBpbmZpbml0ZVNjcm9sbCAmJiAhcmVsb2FkID8gWy4uLnRoaXMuZGF0YVNvdXJjZVN1YmplY3QudmFsdWUsIC4uLnJlc3VsdF0gOiByZXN1bHQ7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZVN1YmplY3QubmV4dChkYXRhKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVzb2x2ZVZhbHVlKHgsIHBhdGgpIHtcbiAgICByZXR1cm4gZ2V0KHgsIHBhdGgpO1xuICB9XG5cbiAgcmVzb2x2ZUZ1bmN0aW9uKHgpIHtcbiAgICByZXR1cm4gdHlwZW9mIHggPT09ICdmdW5jdGlvbicgPyB4KCkgOiB4O1xuICB9XG5cbiAgbm9ybWFsaXplTmlsKHgpIHtcbiAgICByZXR1cm4gaXNOaWwoeCkgPyAnJyA6IHg7XG4gIH1cblxuICBwcml2YXRlIGRvQ2xpZW50U2lkZUZpbHRlcmluZyh7IGRhdGEsIGNvbHVtbnMgfSkge1xuICAgIHJldHVybiBjb2x1bW5zLnJlZHVjZSgocmVzdWx0LCBjb2x1bW4pID0+IHtcbiAgICAgIGNvbnN0IHsgZmlsdGVyUHJlZGljYXRlIH0gPSBjb2x1bW47XG5cbiAgICAgIGlmICh0eXBlb2YgZmlsdGVyUHJlZGljYXRlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdGhpcy5kb0NsaWVudFNpZGVTZWFyY2goe1xuICAgICAgICAgIGRhdGE6IHJlc3VsdCxcbiAgICAgICAgICBjb2x1bW5zOiBbY29sdW1uXSxcbiAgICAgICAgICBzZWFyY2hUZXh0OiBmaWx0ZXJQcmVkaWNhdGVcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgZmlsdGVyUHJlZGljYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQuZmlsdGVyKGl0ZW0gPT4gZmlsdGVyUHJlZGljYXRlKGl0ZW0sIGNvbHVtbi5wYXRoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGRvQ2xpZW50U2lkZVNlYXJjaCh7IGRhdGEsIGNvbHVtbnMsIHNlYXJjaFRleHQgfSkge1xuICAgIGNvbnN0IHByb3BQYXRocyA9IGNvbHVtbnMubWFwKCh7IHBhdGggfSkgPT4gcGF0aCkuZmlsdGVyKGNvbHVtbiA9PiAhaXNOaWwoY29sdW1uKSk7XG5cbiAgICBjb25zdCByZWdleFNlYXJjaCA9IHRoaXMuY3JlYXRlUmVnZXhTZWFyY2goc2VhcmNoVGV4dCk7XG5cbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICBjb25zdCBpdGVtV2l0aFJlc29sdmVkVmFsdWVzID0gZmxvdyhcbiAgICAgICAgeCA9PiBwcm9wUGF0aHMubWFwKHByb3BQYXRoID0+IGdldCh4LCBwcm9wUGF0aCkpLFxuICAgICAgICB4ID0+IG1hcFZhbHVlcyh4LCB0aGlzLnJlc29sdmVGdW5jdGlvbiksXG4gICAgICAgIHggPT4gb21pdEJ5KHgsIGlzTmlsKVxuICAgICAgKShpdGVtKTtcblxuICAgICAgY29uc3QgY2VsbFZhbHVlcyA9IE9iamVjdC52YWx1ZXMoaXRlbVdpdGhSZXNvbHZlZFZhbHVlcyk7XG5cbiAgICAgIHJldHVybiBjZWxsVmFsdWVzLnNvbWUoY2VsbFZhbHVlID0+IHJlZ2V4U2VhcmNoLnRlc3QoY2VsbFZhbHVlLnRvU3RyaW5nKCkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZG9DbGllbnRTaWRlU29ydGluZyh7IGRhdGEsIGNvbHVtbnMgfSkge1xuICAgIGNvbnN0IGFjdGl2ZXM6IENvbHVtbltdID0gY29sdW1ucy5maWx0ZXIoKHsgc29ydE9yZGVyIH06IENvbHVtbikgPT4gISFzb3J0T3JkZXIpO1xuXG4gICAgY29uc3Qgc29ydGluZ1N0YXRlID0ge1xuICAgICAgaXRlcmF0ZWVzOiBhY3RpdmVzLm1hcCgoeyBwYXRoIH0pID0+IHBhdGgpLm1hcChwYXRoID0+IGl0ZW0gPT4gZ2V0KGl0ZW0sIHBhdGgpID8/ICcnKSxcbiAgICAgIG9yZGVyczogYWN0aXZlcy5tYXAoKHsgc29ydE9yZGVyIH0pID0+IHNvcnRPcmRlcilcbiAgICB9O1xuXG4gICAgcmV0dXJuIG9yZGVyQnkoZGF0YSwgc29ydGluZ1N0YXRlLml0ZXJhdGVlcywgc29ydGluZ1N0YXRlLm9yZGVycyk7XG4gIH1cblxuICBwcml2YXRlIGRvQ2xpZW50U2lkZVBhZ2luYXRpb24oeyBkYXRhLCBwYWdpbmF0aW9uIH0pIHtcbiAgICByZXR1cm4gcGFnaW5hdGlvblxuICAgICAgPyBnZXQoY2h1bmsoZGF0YSwgcGFnaW5hdGlvbi5wYWdlU2l6ZSksIHBhZ2luYXRpb24uY3VycmVudFBhZ2UgLSAxLCBbXSlcbiAgICAgIDogZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVnZXhTZWFyY2goZmlsdGVyVmFsdWUpIHtcbiAgICByZXR1cm4gUmVnRXhwKGVzY2FwZVJlZ0V4cFBhdHRlcm4oZmlsdGVyVmFsdWUpLCAnaScpO1xuICB9XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBzdHJpbmcgcGF0dGVybiBSZWdleCBwYXR0ZXJuLlxuICogQHJldHVybiBzdHJpbmcgVGhlIGVzY2FwZWQgcmVnZXguXG4gKiBAc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zNTYxNzExLzIwMTM4OTFcbiAqL1xuZnVuY3Rpb24gZXNjYXBlUmVnRXhwUGF0dGVybihwYXR0ZXJuID0gJycpIHtcbiAgcmV0dXJuIHBhdHRlcm4ucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csICdcXFxcJCYnKTtcbn1cbiJdfQ==
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvZGF0YS1ncmlkL2dyaWQtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxNQUFNLE9BQU8sY0FBYztJQU96QixJQUFJLGtCQUFrQixDQUFDLElBQVk7UUFDakMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksSUFBSSxZQUFZLENBQUM7SUFDckQsQ0FBQztJQWtCRDtRQWhCUSxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ3BELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFrQjtZQUM5RCxJQUFJLEVBQUUsQ0FBQztZQUNQLFlBQVksRUFBRSxDQUFDO1lBQ2YsV0FBVyxFQUFFLENBQUM7WUFDZCxlQUFlLEVBQUUsQ0FBQztZQUNsQixhQUFhLEVBQUUsQ0FBQztTQUNqQixDQUFDLENBQUM7UUFDSyx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBTTtZQUN0RCxlQUFlLEVBQUUsRUFBRTtTQUNwQixDQUFDLENBQUM7UUFDSyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUN2RCx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUNyRCwyQkFBc0IsR0FBRyxZQUFZLENBQUM7UUFHNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLENBQUMsaUJBQW1DO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVSxDQUFDLGlCQUFtQztRQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxVQUFVLEVBQ1YsVUFBVSxFQUNWLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxNQUFNLEdBQUcsS0FBSyxFQUNkLFNBQVMsR0FBRyxJQUFJLEVBQ2pCO1FBQ0MsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNoQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEQsQ0FBQztZQUNELE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoQixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDckIsSUFBSSxlQUFlLEdBQUcsRUFBRSxDQUFDO1lBRXpCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQzlELElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQ3JELElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQ25ELElBQUksQ0FBQyxFQUFFO2dCQUNMLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMzQixlQUFlLEdBQUcsVUFBVTtvQkFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztvQkFDN0MsQ0FBQyxDQUFDLGVBQWUsQ0FBQztnQkFFcEIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLEVBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FDMUQsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUVmLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO29CQUN6QixJQUFJLEVBQUUsV0FBVyxDQUFDLE1BQU07b0JBQ3hCLFlBQVk7b0JBQ1osV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXO29CQUNuQyxlQUFlLEVBQUUsZUFBZSxDQUFDLE1BQU07b0JBQ3ZDLGFBQWEsRUFBRSxVQUFVLENBQUMsUUFBUTtpQkFDbkMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBRXBELE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQ2pDLFlBQVksQ0FDVixzQkFBc0IsQ0FBQztZQUNyQixPQUFPO1lBQ1AsVUFBVTtZQUNWLFVBQVU7WUFDVixTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRTtZQUNuRSxTQUFTO1NBQ1YsQ0FBQyxDQUNILENBQ0YsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsTUFBNEIsRUFBRSxFQUFFO1lBQ25DLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO29CQUN6QixJQUFJO29CQUNKLFlBQVk7b0JBQ1osV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO29CQUMvQixlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQzVCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtvQkFDekIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2lCQUMvQixDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sb0ZBQW9GO2dCQUNwRixNQUFNLGFBQWEsR0FBRztvQkFDcEIsSUFBSTtvQkFDSixZQUFZO29CQUNaLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztvQkFDL0IsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUM1QixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7b0JBQ3pCLGFBQWEsRUFBRSxNQUFNLENBQUMsUUFBUTtpQkFDL0IsQ0FBQztnQkFDRixJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNSLHlEQUF5RDtvQkFDekQsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLGFBQWE7b0JBQ2IsU0FBUztpQkFDVixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsRUFBRSxlQUFlLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXBDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLE1BQU0sS0FBSyxHQUFHLE9BQU8sc0JBQXNCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUUvRixFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ0gsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDM0MsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDekIsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsWUFBWSxFQUFFLENBQUM7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsZUFBZSxFQUFFLENBQUM7Z0JBQ2xCLGFBQWEsRUFBRSxDQUFDO2FBQ2pCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUMvQzthQUNBLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLElBQUksQ0FBQztZQUNULElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztnQkFDcEMsNERBQTREO2dCQUM1RCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FDbEMsSUFBSSxFQUNKLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FDaEQsQ0FBQztnQkFDRixNQUFNLG9CQUFvQixHQUN4QixrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBQ25FLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEdBQUcsY0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDM0YsQ0FBQztZQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVE7UUFDbkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUk7UUFDbEIsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxlQUFlLENBQUMsQ0FBQztRQUNmLE9BQU8sT0FBTyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBQztRQUNaLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsU0FBZTtRQUN0QyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsU0FBZTtRQUNwQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQ2xFLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1FBQzdDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDO1lBRW5DLElBQUksT0FBTyxlQUFlLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixJQUFJLEVBQUUsTUFBTTtvQkFDWixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7b0JBQ2pCLFVBQVUsRUFBRSxlQUFlO2lCQUM1QixDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxPQUFPLGVBQWUsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuRSxDQUFDO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDdEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFbkYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FDakMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUNoRCxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUN2QyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQ3RCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFUixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFFekQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtRQUMzQyxNQUFNLE9BQU8sR0FBYSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sWUFBWSxHQUFHO1lBQ25CLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUNsRCxDQUFDO1FBRUYsT0FBTyxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7UUFDakQsT0FBTyxVQUFVO1lBQ2YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdkUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxXQUFXO1FBQ25DLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxRQUFRLENBQUMsR0FBUSxFQUFFLFNBQWM7UUFDdkMsT0FBTyxDQUNMLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUztZQUNoQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQy9FLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsbUJBQW1CLENBQUMsT0FBTyxHQUFHLEVBQUU7SUFDdkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uVmlld2VyLCBEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgY2h1bmssIGZpbmRJbmRleCwgZmxvdywgZ2V0LCBpc05pbCwgbWFwVmFsdWVzLCBvbWl0QnksIG9yZGVyQnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWZlciwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnLi4vY29tbW9uL2V4dGVuc2lvbi1ob29rcyc7XG5pbXBvcnQgeyBDb2x1bW4sIERhdGFTb3VyY2VTdGF0cywgUm93LCBTZXJ2ZXJTaWRlRGF0YVJlc3VsdCB9IGZyb20gJy4vZGF0YS1ncmlkLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEdyaWREYXRhU291cmNlIGltcGxlbWVudHMgRGF0YVNvdXJjZTxvYmplY3Q+IHtcbiAgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGRhdGEkOiBPYnNlcnZhYmxlPG9iamVjdFtdPjtcbiAgc3RhdHMkOiBPYnNlcnZhYmxlPERhdGFTb3VyY2VTdGF0cz47XG4gIHNlbGVjdGlvbiQ6IE9ic2VydmFibGU8YW55PjtcbiAgcmVzdWx0TGlzdCQ6IE9ic2VydmFibGU8SVJlc3VsdExpc3Q8b2JqZWN0Pj47XG4gIG5vZGVzTG9hZGluZyQ6IE9ic2VydmFibGU8Um93W10+O1xuICBzZXQgY2hpbGROb2Rlc1Byb3BlcnR5KG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY2hpbGROb2Rlc1Byb3BlcnR5TmFtZSA9IG5hbWUgPz8gJ2NoaWxkTm9kZXMnO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgZGF0YVNvdXJjZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG9iamVjdFtdPihbXSk7XG4gIHByaXZhdGUgZGF0YVN0YXRzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YVNvdXJjZVN0YXRzPih7XG4gICAgc2l6ZTogMCxcbiAgICBmaWx0ZXJlZFNpemU6IDAsXG4gICAgY3VycmVudFBhZ2U6IDAsXG4gICAgY3VycmVudFBhZ2VTaXplOiAwLFxuICAgIGZpcnN0UGFnZVNpemU6IDBcbiAgfSk7XG4gIHByaXZhdGUgZGF0YVNlbGVjdGlvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oe1xuICAgIGZpbHRlcmVkRGF0YUlkczogW11cbiAgfSk7XG4gIHByaXZhdGUgcmVzdWx0TGlzdFN1YmplY3QgPSBuZXcgU3ViamVjdDxJUmVzdWx0TGlzdDxvYmplY3Q+PigpO1xuICBwcml2YXRlIG5vZGVzTG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJvd1tdPihbXSk7XG4gIHByaXZhdGUgY2hpbGROb2Rlc1Byb3BlcnR5TmFtZSA9ICdjaGlsZE5vZGVzJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmRhdGEkID0gdGhpcy5kYXRhU291cmNlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnN0YXRzJCA9IHRoaXMuZGF0YVN0YXRzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnNlbGVjdGlvbiQgPSB0aGlzLmRhdGFTZWxlY3Rpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMucmVzdWx0TGlzdCQgPSB0aGlzLnJlc3VsdExpc3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMubm9kZXNMb2FkaW5nJCA9IHRoaXMubm9kZXNMb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbm5lY3QoX2NvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiBPYnNlcnZhYmxlPG9iamVjdFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YSQ7XG4gIH1cblxuICBkaXNjb25uZWN0KF9jb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZGF0YVNvdXJjZVN1YmplY3QuY29tcGxldGUoKTtcbiAgICB0aGlzLmRhdGFTdGF0c1N1YmplY3QuY29tcGxldGUoKTtcbiAgICB0aGlzLmRhdGFTZWxlY3Rpb25TdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5yZXN1bHRMaXN0U3ViamVjdC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbG9hZERhdGEoe1xuICAgIHJvd3MsXG4gICAgY29sdW1ucyxcbiAgICBwYWdpbmF0aW9uLFxuICAgIHNlYXJjaFRleHQsXG4gICAgc2VydmVyU2lkZURhdGFDYWxsYmFjayxcbiAgICBzZWxlY3RhYmxlLFxuICAgIHNlbGVjdGlvblByaW1hcnlLZXksXG4gICAgaW5maW5pdGVTY3JvbGwsXG4gICAgcmVsb2FkID0gZmFsc2UsXG4gICAgcGFyZW50Um93ID0gbnVsbFxuICB9KSB7XG4gICAgY29uc3QgY2xpZW50U2lkZURhdGEkID0gdG9PYnNlcnZhYmxlKHJvd3MpLnBpcGUoXG4gICAgICBtYXAoaW5pdGlhbERhdGEgPT4ge1xuICAgICAgICBpZiAoISFwYXJlbnRSb3cpIHtcbiAgICAgICAgICByZXR1cm4gcGFyZW50Um93W3RoaXMuY2hpbGROb2Rlc1Byb3BlcnR5TmFtZV0gfHwgW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluaXRpYWxEYXRhO1xuICAgICAgfSksXG4gICAgICBtYXAoaW5pdGlhbERhdGEgPT4ge1xuICAgICAgICBsZXQgZmlsdGVyZWRTaXplID0gMDtcbiAgICAgICAgbGV0IGZpbHRlcmVkRGF0YUlkcyA9IFtdO1xuXG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRGF0YSA9IGZsb3coXG4gICAgICAgICAgZGF0YSA9PiB0aGlzLmRvQ2xpZW50U2lkZVNlYXJjaCh7IGRhdGEsIGNvbHVtbnMsIHNlYXJjaFRleHQgfSksXG4gICAgICAgICAgZGF0YSA9PiB0aGlzLmRvQ2xpZW50U2lkZUZpbHRlcmluZyh7IGRhdGEsIGNvbHVtbnMgfSksXG4gICAgICAgICAgZGF0YSA9PiB0aGlzLmRvQ2xpZW50U2lkZVNvcnRpbmcoeyBkYXRhLCBjb2x1bW5zIH0pLFxuICAgICAgICAgIGRhdGEgPT4ge1xuICAgICAgICAgICAgZmlsdGVyZWRTaXplID0gZGF0YS5sZW5ndGg7XG4gICAgICAgICAgICBmaWx0ZXJlZERhdGFJZHMgPSBzZWxlY3RhYmxlXG4gICAgICAgICAgICAgID8gZGF0YS5tYXAoaXRlbSA9PiBpdGVtW3NlbGVjdGlvblByaW1hcnlLZXldKVxuICAgICAgICAgICAgICA6IGZpbHRlcmVkRGF0YUlkcztcblxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhID0+IHRoaXMuZG9DbGllbnRTaWRlUGFnaW5hdGlvbih7IGRhdGEsIHBhZ2luYXRpb24gfSlcbiAgICAgICAgKShpbml0aWFsRGF0YSk7XG5cbiAgICAgICAgaWYgKCFwYXJlbnRSb3cpIHtcbiAgICAgICAgICB0aGlzLmRhdGFTdGF0c1N1YmplY3QubmV4dCh7XG4gICAgICAgICAgICBzaXplOiBpbml0aWFsRGF0YS5sZW5ndGgsXG4gICAgICAgICAgICBmaWx0ZXJlZFNpemUsXG4gICAgICAgICAgICBjdXJyZW50UGFnZTogcGFnaW5hdGlvbi5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlU2l6ZTogdHJhbnNmb3JtZWREYXRhLmxlbmd0aCxcbiAgICAgICAgICAgIGZpcnN0UGFnZVNpemU6IHBhZ2luYXRpb24ucGFnZVNpemVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGF0YVNlbGVjdGlvblN1YmplY3QubmV4dCh7IGZpbHRlcmVkRGF0YUlkcyB9KTtcblxuICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWREYXRhO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgY29uc3Qgc2VydmVyU2lkZURhdGEkID0gZGVmZXIoKCkgPT5cbiAgICAgIHRvT2JzZXJ2YWJsZShcbiAgICAgICAgc2VydmVyU2lkZURhdGFDYWxsYmFjayh7XG4gICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICBzZWFyY2hUZXh0LFxuICAgICAgICAgIHBhZ2luYXRpb24sXG4gICAgICAgICAgc2VsZWN0aW9uOiB7IGVuYWJsZWQ6IHNlbGVjdGFibGUsIHByaW1hcnlLZXk6IHNlbGVjdGlvblByaW1hcnlLZXkgfSxcbiAgICAgICAgICBwYXJlbnRSb3dcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApLnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdDogU2VydmVyU2lkZURhdGFSZXN1bHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBkYXRhLCBwYWdpbmcsIHNpemUsIGZpbHRlcmVkU2l6ZSwgZmlsdGVyZWREYXRhSWRzIH0gPSByZXN1bHQ7XG4gICAgICAgIGlmICghcGFyZW50Um93KSB7XG4gICAgICAgICAgdGhpcy5kYXRhU3RhdHNTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgIGZpbHRlcmVkU2l6ZSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiBwYWdpbmcuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBjdXJyZW50UGFnZVNpemU6IGRhdGEubGVuZ3RoLFxuICAgICAgICAgICAgbmV4dFBhZ2U6IHBhZ2luZy5uZXh0UGFnZSxcbiAgICAgICAgICAgIGZpcnN0UGFnZVNpemU6IHBhZ2luZy5wYWdlU2l6ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8qIEFkZCBhZGRpdGlvbmFsIHJvdyB0byBiZSByZW5kZXJlZCBhcyBwYWdpbmF0aW9uIHJvdyBjb250YWluaW5nIHN0YXRpc3RpY3MgZGF0YSAqL1xuICAgICAgICAgIGNvbnN0IGNoaWxkcmVuU3RhdHMgPSB7XG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgZmlsdGVyZWRTaXplLFxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHBhZ2luZy5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlU2l6ZTogZGF0YS5sZW5ndGgsXG4gICAgICAgICAgICBuZXh0UGFnZTogcGFnaW5nLm5leHRQYWdlLFxuICAgICAgICAgICAgZmlyc3RQYWdlU2l6ZTogcGFnaW5nLnBhZ2VTaXplXG4gICAgICAgICAgfTtcbiAgICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgICAgLyogzrhwYWdpbmF0aW9uIGlzIGFuIGludGVybmFsIGZsYWcgZm9yIHBhZ2luYXRpb24gcm93cyAqL1xuICAgICAgICAgICAgzrhwYWdpbmF0aW9uOiB0cnVlLFxuICAgICAgICAgICAgY2hpbGRyZW5TdGF0cyxcbiAgICAgICAgICAgIHBhcmVudFJvd1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0YVNlbGVjdGlvblN1YmplY3QubmV4dCh7IGZpbHRlcmVkRGF0YUlkczogZmlsdGVyZWREYXRhSWRzIHx8IFtdIH0pO1xuICAgICAgICB0aGlzLnJlc3VsdExpc3RTdWJqZWN0Lm5leHQocmVzdWx0KTtcblxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IGRhdGEkID0gdHlwZW9mIHNlcnZlclNpZGVEYXRhQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicgPyBzZXJ2ZXJTaWRlRGF0YSQgOiBjbGllbnRTaWRlRGF0YSQ7XG5cbiAgICBvZihbXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5lbWl0TG9hZGluZ1N0YXJ0KHBhcmVudFJvdykpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gZGF0YSQpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmRhdGFTdGF0c1N1YmplY3QubmV4dCh7XG4gICAgICAgICAgICBzaXplOiAwLFxuICAgICAgICAgICAgZmlsdGVyZWRTaXplOiAwLFxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IDAsXG4gICAgICAgICAgICBjdXJyZW50UGFnZVNpemU6IDAsXG4gICAgICAgICAgICBmaXJzdFBhZ2VTaXplOiAwXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5kYXRhU2VsZWN0aW9uU3ViamVjdC5uZXh0KHsgZmlsdGVyZWREYXRhSWRzOiBbXSB9KTtcbiAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5lbWl0TG9hZGluZ0VuZChwYXJlbnRSb3cpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICBsZXQgZGF0YTtcbiAgICAgICAgaWYgKHBhcmVudFJvdykge1xuICAgICAgICAgIHJlc3VsdC5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0ucGFyZW50Um93ID0gcGFyZW50Um93KSk7XG4gICAgICAgICAgZGF0YSA9IHRoaXMuZGF0YVNvdXJjZVN1YmplY3QudmFsdWU7XG4gICAgICAgICAgLyogUmVwbGFjZSBjaGlsZCByb3dzIHdpdGggbmV4dCBwYWdlIGRhdGEgd2hlbiBwYWdpbmF0aW5nICovXG4gICAgICAgICAgY29uc3QgcGFyZW50Um93SW5kZXggPSBkYXRhLmluZGV4T2YocGFyZW50Um93KTtcbiAgICAgICAgICBjb25zdCBwYWdpbmF0aW9uUm93SW5kZXggPSBmaW5kSW5kZXgoXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgciA9PiByLs64cGFnaW5hdGlvbiAmJiByLnBhcmVudFJvdyA9PT0gcGFyZW50Um93XG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBudW1iZXJPZlJvd3NUb1JlbW92ZSA9XG4gICAgICAgICAgICBwYWdpbmF0aW9uUm93SW5kZXggPiAtMSA/IHBhZ2luYXRpb25Sb3dJbmRleCAtIHBhcmVudFJvd0luZGV4IDogMDtcbiAgICAgICAgICBkYXRhLnNwbGljZShwYXJlbnRSb3dJbmRleCArIDEsIG51bWJlck9mUm93c1RvUmVtb3ZlLCAuLi5yZXN1bHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGEgPSBpbmZpbml0ZVNjcm9sbCAmJiAhcmVsb2FkID8gWy4uLnRoaXMuZGF0YVNvdXJjZVN1YmplY3QudmFsdWUsIC4uLnJlc3VsdF0gOiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kYXRhU291cmNlU3ViamVjdC5uZXh0KGRhdGEpO1xuICAgICAgfSk7XG4gIH1cblxuICBjb2xsYXBzZU5vZGUocm93OiBSb3cpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhU291cmNlU3ViamVjdC52YWx1ZS5maWx0ZXIoKGl0ZW06IFJvdykgPT4gIXRoaXMuaXNQYXJlbnQoaXRlbSwgcm93KSk7XG4gICAgdGhpcy5kYXRhU291cmNlU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgcmVzb2x2ZVZhbHVlKHgsIHBhdGgpIHtcbiAgICByZXR1cm4gZ2V0KHgsIHBhdGgpO1xuICB9XG5cbiAgcmVzb2x2ZUZ1bmN0aW9uKHgpIHtcbiAgICByZXR1cm4gdHlwZW9mIHggPT09ICdmdW5jdGlvbicgPyB4KCkgOiB4O1xuICB9XG5cbiAgbm9ybWFsaXplTmlsKHgpIHtcbiAgICByZXR1cm4gaXNOaWwoeCkgPyAnJyA6IHg7XG4gIH1cblxuICBwcml2YXRlIGVtaXRMb2FkaW5nU3RhcnQocGFyZW50Um93PzogUm93KSB7XG4gICAgaWYgKHBhcmVudFJvdykge1xuICAgICAgdGhpcy5ub2Rlc0xvYWRpbmdTdWJqZWN0Lm5leHQoWy4uLnRoaXMubm9kZXNMb2FkaW5nU3ViamVjdC52YWx1ZSwgcGFyZW50Um93XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVtaXRMb2FkaW5nRW5kKHBhcmVudFJvdz86IFJvdykge1xuICAgIGlmIChwYXJlbnRSb3cpIHtcbiAgICAgIHRoaXMubm9kZXNMb2FkaW5nU3ViamVjdC5uZXh0KFxuICAgICAgICB0aGlzLm5vZGVzTG9hZGluZ1N1YmplY3QudmFsdWUuZmlsdGVyKGl0ZW0gPT4gaXRlbSAhPT0gcGFyZW50Um93KVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRvQ2xpZW50U2lkZUZpbHRlcmluZyh7IGRhdGEsIGNvbHVtbnMgfSkge1xuICAgIHJldHVybiBjb2x1bW5zLnJlZHVjZSgocmVzdWx0LCBjb2x1bW4pID0+IHtcbiAgICAgIGNvbnN0IHsgZmlsdGVyUHJlZGljYXRlIH0gPSBjb2x1bW47XG5cbiAgICAgIGlmICh0eXBlb2YgZmlsdGVyUHJlZGljYXRlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdGhpcy5kb0NsaWVudFNpZGVTZWFyY2goe1xuICAgICAgICAgIGRhdGE6IHJlc3VsdCxcbiAgICAgICAgICBjb2x1bW5zOiBbY29sdW1uXSxcbiAgICAgICAgICBzZWFyY2hUZXh0OiBmaWx0ZXJQcmVkaWNhdGVcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgZmlsdGVyUHJlZGljYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQuZmlsdGVyKGl0ZW0gPT4gZmlsdGVyUHJlZGljYXRlKGl0ZW0sIGNvbHVtbi5wYXRoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGRvQ2xpZW50U2lkZVNlYXJjaCh7IGRhdGEsIGNvbHVtbnMsIHNlYXJjaFRleHQgfSkge1xuICAgIGNvbnN0IHByb3BQYXRocyA9IGNvbHVtbnMubWFwKCh7IHBhdGggfSkgPT4gcGF0aCkuZmlsdGVyKGNvbHVtbiA9PiAhaXNOaWwoY29sdW1uKSk7XG5cbiAgICBjb25zdCByZWdleFNlYXJjaCA9IHRoaXMuY3JlYXRlUmVnZXhTZWFyY2goc2VhcmNoVGV4dCk7XG5cbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICBjb25zdCBpdGVtV2l0aFJlc29sdmVkVmFsdWVzID0gZmxvdyhcbiAgICAgICAgeCA9PiBwcm9wUGF0aHMubWFwKHByb3BQYXRoID0+IGdldCh4LCBwcm9wUGF0aCkpLFxuICAgICAgICB4ID0+IG1hcFZhbHVlcyh4LCB0aGlzLnJlc29sdmVGdW5jdGlvbiksXG4gICAgICAgIHggPT4gb21pdEJ5KHgsIGlzTmlsKVxuICAgICAgKShpdGVtKTtcblxuICAgICAgY29uc3QgY2VsbFZhbHVlcyA9IE9iamVjdC52YWx1ZXMoaXRlbVdpdGhSZXNvbHZlZFZhbHVlcyk7XG5cbiAgICAgIHJldHVybiBjZWxsVmFsdWVzLnNvbWUoY2VsbFZhbHVlID0+IHJlZ2V4U2VhcmNoLnRlc3QoY2VsbFZhbHVlLnRvU3RyaW5nKCkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZG9DbGllbnRTaWRlU29ydGluZyh7IGRhdGEsIGNvbHVtbnMgfSkge1xuICAgIGNvbnN0IGFjdGl2ZXM6IENvbHVtbltdID0gY29sdW1ucy5maWx0ZXIoKHsgc29ydE9yZGVyIH06IENvbHVtbikgPT4gISFzb3J0T3JkZXIpO1xuXG4gICAgY29uc3Qgc29ydGluZ1N0YXRlID0ge1xuICAgICAgaXRlcmF0ZWVzOiBhY3RpdmVzLm1hcCgoeyBwYXRoIH0pID0+IHBhdGgpLm1hcChwYXRoID0+IGl0ZW0gPT4gZ2V0KGl0ZW0sIHBhdGgpID8/ICcnKSxcbiAgICAgIG9yZGVyczogYWN0aXZlcy5tYXAoKHsgc29ydE9yZGVyIH0pID0+IHNvcnRPcmRlcilcbiAgICB9O1xuXG4gICAgcmV0dXJuIG9yZGVyQnkoZGF0YSwgc29ydGluZ1N0YXRlLml0ZXJhdGVlcywgc29ydGluZ1N0YXRlLm9yZGVycyk7XG4gIH1cblxuICBwcml2YXRlIGRvQ2xpZW50U2lkZVBhZ2luYXRpb24oeyBkYXRhLCBwYWdpbmF0aW9uIH0pIHtcbiAgICByZXR1cm4gcGFnaW5hdGlvblxuICAgICAgPyBnZXQoY2h1bmsoZGF0YSwgcGFnaW5hdGlvbi5wYWdlU2l6ZSksIHBhZ2luYXRpb24uY3VycmVudFBhZ2UgLSAxLCBbXSlcbiAgICAgIDogZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVnZXhTZWFyY2goZmlsdGVyVmFsdWUpIHtcbiAgICByZXR1cm4gUmVnRXhwKGVzY2FwZVJlZ0V4cFBhdHRlcm4oZmlsdGVyVmFsdWUpLCAnaScpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1BhcmVudChyb3c6IFJvdywgcGFyZW50Um93OiBSb3cpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISFyb3c/LnBhcmVudFJvdyAmJlxuICAgICAgKHJvdy5wYXJlbnRSb3cuaWQgPT09IHBhcmVudFJvdy5pZCB8fCB0aGlzLmlzUGFyZW50KHJvdy5wYXJlbnRSb3csIHBhcmVudFJvdykpXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0gc3RyaW5nIHBhdHRlcm4gUmVnZXggcGF0dGVybi5cbiAqIEByZXR1cm4gc3RyaW5nIFRoZSBlc2NhcGVkIHJlZ2V4LlxuICogQHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzU2MTcxMS8yMDEzODkxXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVJlZ0V4cFBhdHRlcm4ocGF0dGVybiA9ICcnKSB7XG4gIHJldHVybiBwYXR0ZXJuLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG59XG4iXX0=
|
|
@@ -8,12 +8,16 @@ export * from './column/column.directive';
|
|
|
8
8
|
export * from './column/custom.column';
|
|
9
9
|
export * from './column/filtering-form-renderer';
|
|
10
10
|
export * from './column/filtering-form-renderer.component';
|
|
11
|
+
export * from './column/tree-node-column/tree-node.cell-renderer.component';
|
|
12
|
+
export * from './column/tree-node-column/tree-node.data-grid-column';
|
|
13
|
+
export * from './column/tree-node-column/tree-node.header-cell-renderer.component';
|
|
11
14
|
export * from './configure-custom-column';
|
|
12
15
|
export * from './data-grid-configuration.model';
|
|
13
16
|
export * from './data-grid.component';
|
|
14
17
|
export * from './data-grid.model';
|
|
15
18
|
export * from './data-grid.module';
|
|
16
19
|
export * from './data-grid.service';
|
|
20
|
+
export * from './expandable-row.directive';
|
|
17
21
|
export * from './filter-chip/filter-mapper-impl.service';
|
|
18
22
|
export * from './filter-chip/filter-mapper.factory';
|
|
19
23
|
export * from './filter-chip/filter-mapper.module';
|
|
@@ -25,5 +29,4 @@ export * from './legacy-grid-config-mapper.service';
|
|
|
25
29
|
export * from './product-experience.constants';
|
|
26
30
|
export * from './user-preferences-configuration-strategy.service';
|
|
27
31
|
export * from './visible-controls.pipe';
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGEtZ3JpZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1jb25maWd1cmF0aW9uLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLWNvbnRyb2xzLWV4dGVuc2lvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2Jhc2UuY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2Jhc2UuZmlsdGVyaW5nLWZvcm0tcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2NlbGwtcmVuZGVyZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4vY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4vY29sdW1uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi9jdXN0b20uY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyZS1jdXN0b20tY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1ncmlkLWNvbmZpZ3VyYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1ncmlkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1ncmlkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtZ3JpZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWNoaXAvZmlsdGVyLW1hcHBlci1pbXBsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItY2hpcC9maWx0ZXItbWFwcGVyLmZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItY2hpcC9maWx0ZXItbWFwcGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1jaGlwL2ZpbHRlci1tYXBwZXIucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1jaGlwL2ZpbHRlci1tYXBwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1jaGlwL2dyb3VwZWQtZmlsdGVyLWNoaXBzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmlkLWRhdGEtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGVnYWN5LWdyaWQtY29uZmlnLW1hcHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1leHBlcmllbmNlLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItcHJlZmVyZW5jZXMtY29uZmlndXJhdGlvbi1zdHJhdGVneS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdmlzaWJsZS1jb250cm9scy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwYW5kYWJsZS1yb3cuZGlyZWN0aXZlJztcbiJdfQ==
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGEtZ3JpZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1jb25maWd1cmF0aW9uLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLWNvbnRyb2xzLWV4dGVuc2lvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2Jhc2UuY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2Jhc2UuZmlsdGVyaW5nLWZvcm0tcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2NlbGwtcmVuZGVyZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4vY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4vY29sdW1uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi9jdXN0b20uY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi90cmVlLW5vZGUtY29sdW1uL3RyZWUtbm9kZS5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi90cmVlLW5vZGUtY29sdW1uL3RyZWUtbm9kZS5kYXRhLWdyaWQtY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uL3RyZWUtbm9kZS1jb2x1bW4vdHJlZS1ub2RlLmhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyZS1jdXN0b20tY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1ncmlkLWNvbmZpZ3VyYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1ncmlkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1ncmlkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtZ3JpZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwYW5kYWJsZS1yb3cuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWNoaXAvZmlsdGVyLW1hcHBlci1pbXBsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItY2hpcC9maWx0ZXItbWFwcGVyLmZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItY2hpcC9maWx0ZXItbWFwcGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1jaGlwL2ZpbHRlci1tYXBwZXIucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1jaGlwL2ZpbHRlci1tYXBwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1jaGlwL2dyb3VwZWQtZmlsdGVyLWNoaXBzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmlkLWRhdGEtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGVnYWN5LWdyaWQtY29uZmlnLW1hcHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1leHBlcmllbmNlLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItcHJlZmVyZW5jZXMtY29uZmlndXJhdGlvbi1zdHJhdGVneS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdmlzaWJsZS1jb250cm9scy5waXBlJztcbiJdfQ==
|
|
@@ -147,7 +147,7 @@ export class DeviceGridComponent {
|
|
|
147
147
|
provide: PRODUCT_EXPERIENCE_EVENT_SOURCE,
|
|
148
148
|
useExisting: forwardRef(() => DeviceGridComponent)
|
|
149
149
|
}
|
|
150
|
-
], viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [infiniteScroll]=\"infiniteScroll\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [singleSelection]=\"singleSelection\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n (itemsSelect)=\"itemsSelect.emit($event)\"\n [refresh]=\"refresh\"\n [showSearch]=\"showSearch && !childDeviceGrid\"\n [headerActionControls]=\"headerActionControls\"\n [activeClassName]=\"activeClassName\"\n c8yProductExperience\n inherit\n>\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-device-management'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : null\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n</c8y-data-grid>\n", dependencies: [{ kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i2.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "hideReload"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "directive", type: i2.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
|
|
150
|
+
], viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [infiniteScroll]=\"infiniteScroll\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [singleSelection]=\"singleSelection\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n (itemsSelect)=\"itemsSelect.emit($event)\"\n [refresh]=\"refresh\"\n [showSearch]=\"showSearch && !childDeviceGrid\"\n [headerActionControls]=\"headerActionControls\"\n [activeClassName]=\"activeClassName\"\n c8yProductExperience\n inherit\n>\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-device-management'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : null\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n</c8y-data-grid>\n", dependencies: [{ kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i2.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "directive", type: i2.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
|
|
151
151
|
}
|
|
152
152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceGridComponent, decorators: [{
|
|
153
153
|
type: Component,
|
|
@@ -182,7 +182,7 @@ export class DeviceProfileListComponent {
|
|
|
182
182
|
provide: PRODUCT_EXPERIENCE_EVENT_SOURCE,
|
|
183
183
|
useExisting: forwardRef(() => DeviceProfileListComponent)
|
|
184
184
|
}
|
|
185
|
-
], ngImport: i0, template: "<c8y-title>{{ 'Device profiles' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-management\"\n label=\"{{ 'Management' | translate }}\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n icon=\"c8y-device-profile\"\n label=\"{{ 'Device profiles' | translate }}\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add device profile' | translate }}\"\n data-cy=\"device-profile-list--Add-device-profile\"\n (click)=\"createDeviceProfile()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add device profile' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help\n src=\"/docs/device-management-application/managing-device-data/#managing-device-profiles\"\n></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"'Device profiles' | translate\"\n [refresh]=\"refresh$\"\n [pagination]=\"pagination\"\n [columns]=\"columns\"\n [actionControls]=\"actionControls\"\n [infiniteScroll]=\"'auto'\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n >\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-tools'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <p *ngIf=\"stats?.size === 0\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add device profile' | translate }}\"\n type=\"button\"\n (click)=\"createDeviceProfile()\"\n >\n {{ 'Add device profile' | translate }}\n </button>\n </p>\n </c8y-ui-empty-state>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: i2.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i2.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i2.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i2.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "hideReload"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: i2.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i2.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
|
|
185
|
+
], ngImport: i0, template: "<c8y-title>{{ 'Device profiles' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-management\"\n label=\"{{ 'Management' | translate }}\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n icon=\"c8y-device-profile\"\n label=\"{{ 'Device profiles' | translate }}\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add device profile' | translate }}\"\n data-cy=\"device-profile-list--Add-device-profile\"\n (click)=\"createDeviceProfile()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add device profile' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help\n src=\"/docs/device-management-application/managing-device-data/#managing-device-profiles\"\n></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"'Device profiles' | translate\"\n [refresh]=\"refresh$\"\n [pagination]=\"pagination\"\n [columns]=\"columns\"\n [actionControls]=\"actionControls\"\n [infiniteScroll]=\"'auto'\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n >\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-tools'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <p *ngIf=\"stats?.size === 0\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add device profile' | translate }}\"\n type=\"button\"\n (click)=\"createDeviceProfile()\"\n >\n {{ 'Add device profile' | translate }}\n </button>\n </p>\n </c8y-ui-empty-state>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: i2.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i2.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i2.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i2.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: i2.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i2.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
|
|
186
186
|
}
|
|
187
187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceProfileListComponent, decorators: [{
|
|
188
188
|
type: Component,
|
package/esm2022/device-provisioned-certificates/device-tab-provisioned-certificates.component.mjs
CHANGED
|
@@ -109,7 +109,7 @@ export class DeviceTabProvisionedCertificatesComponent {
|
|
|
109
109
|
return await this.modalService.confirm(gettext('Revoke provisioned certificate'), this.translateService.instant(gettext(`You are about to revoke provisioned certificate {{ serialNumber }}. Do you want to proceed?`), { serialNumber }), Status.DANGER, { ok: gettext('Revoke'), cancel: gettext('Cancel') });
|
|
110
110
|
}
|
|
111
111
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceTabProvisionedCertificatesComponent, deps: [{ token: i1.AlertService }, { token: i1.ModalService }, { token: i2.DeviceProvisionedCertificatesService }, { token: i3.CrlService }, { token: i4.ActivatedRoute }, { token: i5.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeviceTabProvisionedCertificatesComponent, selector: "device-tab-serials-component", ngImport: i0, template: "<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"reload()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-data-grid\n [title]=\"tableTitle | translate\"\n [columns]=\"columns\"\n [rows]=\"rows$ | async\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [displayOptions]=\"displayOptions\"\n [hideReload]=\"true\"\n>\n <c8y-ui-empty-state\n [icon]=\"'certificate'\"\n [title]=\"'No provisioned certificates to display.' | translate\"\n *ngIf=\"(rows$ | async)?.length === 0\"\n ></c8y-ui-empty-state>\n\n <c8y-column name=\"serialNumber\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n class=\"text-truncate\"\n title=\"{{ context.property.header | translate }}: {{ context.value }}\"\n >\n {{ context.value }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"validTill\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n class=\"text-truncate\"\n title=\"{{ context.property.header | translate }}: {{ context.value | c8yDate }}\"\n >\n <span\n *ngIf=\"context.value\"\n [ngClass]=\"highlightDependingOnExpirationStatus(context.item)\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"calendar\"\n *ngIf=\"!highlightDependingOnExpirationStatus(context.item)\"\n ></i>\n <i\n class=\"m-r-4\"\n c8yIcon=\"warning\"\n *ngIf=\"highlightDependingOnExpirationStatus(context.item)\"\n ></i>\n <span>{{ context.value | c8yDate }}</span>\n </span>\n </span>\n </ng-container>\n </c8y-column>\n</c8y-data-grid>\n", dependencies: [{ kind: "component", type: i1.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i1.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "directive", type: i1.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i1.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "hideReload"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DatePipe, name: "c8yDate" }] }); }
|
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeviceTabProvisionedCertificatesComponent, selector: "device-tab-serials-component", ngImport: i0, template: "<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"reload()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-data-grid\n [title]=\"tableTitle | translate\"\n [columns]=\"columns\"\n [rows]=\"rows$ | async\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [displayOptions]=\"displayOptions\"\n [hideReload]=\"true\"\n>\n <c8y-ui-empty-state\n [icon]=\"'certificate'\"\n [title]=\"'No provisioned certificates to display.' | translate\"\n *ngIf=\"(rows$ | async)?.length === 0\"\n ></c8y-ui-empty-state>\n\n <c8y-column name=\"serialNumber\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n class=\"text-truncate\"\n title=\"{{ context.property.header | translate }}: {{ context.value }}\"\n >\n {{ context.value }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"validTill\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n class=\"text-truncate\"\n title=\"{{ context.property.header | translate }}: {{ context.value | c8yDate }}\"\n >\n <span\n *ngIf=\"context.value\"\n [ngClass]=\"highlightDependingOnExpirationStatus(context.item)\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"calendar\"\n *ngIf=\"!highlightDependingOnExpirationStatus(context.item)\"\n ></i>\n <i\n class=\"m-r-4\"\n c8yIcon=\"warning\"\n *ngIf=\"highlightDependingOnExpirationStatus(context.item)\"\n ></i>\n <span>{{ context.value | c8yDate }}</span>\n </span>\n </span>\n </ng-container>\n </c8y-column>\n</c8y-data-grid>\n", dependencies: [{ kind: "component", type: i1.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i1.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "directive", type: i1.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i1.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DatePipe, name: "c8yDate" }] }); }
|
|
113
113
|
}
|
|
114
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceTabProvisionedCertificatesComponent, decorators: [{
|
|
115
115
|
type: Component,
|
|
@@ -487,7 +487,7 @@ export class ApplicationPluginsComponent {
|
|
|
487
487
|
});
|
|
488
488
|
}
|
|
489
489
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationPluginsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.EcosystemService }, { token: i3.BsModalService }, { token: i4.PluginsService }, { token: i4.AlertService }, { token: i4.GainsightService }, { token: i4.BottomDrawerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
490
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApplicationPluginsComponent, selector: "c8y-app-plugins", inputs: { appId: "appId" }, viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true }], ngImport: i0, template: "<c8y-title>{{ app | humanizeAppName | async }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-modules'\"\n [label]=\"'Applications' | translate\"\n [path]=\"'ecosystem/application/applications'\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"app | humanizeAppName | async\"></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"'Plugins' | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n *ngIf=\"!(isStandard$ | async)\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reset to default plugins' | translate }}\"\n [ngClass]=\"{ 'btn-pending': isLoading }\"\n (click)=\"resetToDefault()\"\n >\n <i c8yIcon=\"undo\"></i>\n {{ 'Reset to default' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Install plugins' | translate }}\"\n (click)=\"installPlugins()\"\n [ngClass]=\"{ 'btn-pending': isLoading }\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Install plugins' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<ng-container *ngIf=\"orphanedPlugins$ | async as orphanedPlugins\">\n <c8y-action-bar-item\n *ngIf=\"orphanedPlugins?.length\"\n [placement]=\"'right'\"\n >\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Clean up orphaned plugins' | translate }}\"\n (click)=\"cleanupOrphanedPlugins(orphanedPlugins)\"\n [ngClass]=\"{ 'btn-pending': isLoading }\"\n >\n <i c8yIcon=\"erase\"></i>\n {{ 'Clean up orphaned plugins' | translate }}\n </button>\n </c8y-action-bar-item>\n</ng-container>\n\n<div class=\"content-fullpage d-flex d-col border-top\">\n <c8y-data-grid\n class=\"d-contents\"\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [displayOptions]=\"displayOptions\"\n [columns]=\"columns\"\n [rows]=\"installedPlugins$ | async\"\n [pagination]=\"pagination\"\n [selectable]=\"true\"\n [actionControls]=\"actionControls\"\n [bulkActionControls]=\"bulkActionControls\"\n [headerActionControls]=\"headerActionControls\"\n (onReload)=\"refresh()\"\n >\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'plugin'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <p *ngIf=\"stats?.size === 0\">\n <button\n class=\"btn btn-primary btn-sm\"\n title=\"{{ 'Install plugins' | translate }}\"\n (click)=\"installPlugins()\"\n [ngClass]=\"{ 'btn-pending': isLoading }\"\n translate\n >\n Install plugins\n </button>\n </p>\n </c8y-ui-empty-state>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: i4.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i4.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i4.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i4.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i4.EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "directive", type: i4.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i4.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "hideReload"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: i4.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.HumanizeAppNamePipe, name: "humanizeAppName" }] }); }
|
|
490
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApplicationPluginsComponent, selector: "c8y-app-plugins", inputs: { appId: "appId" }, viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true }], ngImport: i0, template: "<c8y-title>{{ app | humanizeAppName | async }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-modules'\"\n [label]=\"'Applications' | translate\"\n [path]=\"'ecosystem/application/applications'\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"app | humanizeAppName | async\"></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"'Plugins' | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n *ngIf=\"!(isStandard$ | async)\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reset to default plugins' | translate }}\"\n [ngClass]=\"{ 'btn-pending': isLoading }\"\n (click)=\"resetToDefault()\"\n >\n <i c8yIcon=\"undo\"></i>\n {{ 'Reset to default' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Install plugins' | translate }}\"\n (click)=\"installPlugins()\"\n [ngClass]=\"{ 'btn-pending': isLoading }\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Install plugins' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<ng-container *ngIf=\"orphanedPlugins$ | async as orphanedPlugins\">\n <c8y-action-bar-item\n *ngIf=\"orphanedPlugins?.length\"\n [placement]=\"'right'\"\n >\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Clean up orphaned plugins' | translate }}\"\n (click)=\"cleanupOrphanedPlugins(orphanedPlugins)\"\n [ngClass]=\"{ 'btn-pending': isLoading }\"\n >\n <i c8yIcon=\"erase\"></i>\n {{ 'Clean up orphaned plugins' | translate }}\n </button>\n </c8y-action-bar-item>\n</ng-container>\n\n<div class=\"content-fullpage d-flex d-col border-top\">\n <c8y-data-grid\n class=\"d-contents\"\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [displayOptions]=\"displayOptions\"\n [columns]=\"columns\"\n [rows]=\"installedPlugins$ | async\"\n [pagination]=\"pagination\"\n [selectable]=\"true\"\n [actionControls]=\"actionControls\"\n [bulkActionControls]=\"bulkActionControls\"\n [headerActionControls]=\"headerActionControls\"\n (onReload)=\"refresh()\"\n >\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'plugin'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <p *ngIf=\"stats?.size === 0\">\n <button\n class=\"btn btn-primary btn-sm\"\n title=\"{{ 'Install plugins' | translate }}\"\n (click)=\"installPlugins()\"\n [ngClass]=\"{ 'btn-pending': isLoading }\"\n translate\n >\n Install plugins\n </button>\n </p>\n </c8y-ui-empty-state>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: i4.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i4.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i4.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i4.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i4.EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "directive", type: i4.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i4.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: i4.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.HumanizeAppNamePipe, name: "humanizeAppName" }] }); }
|
|
491
491
|
}
|
|
492
492
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationPluginsComponent, decorators: [{
|
|
493
493
|
type: Component,
|