@datorama/core 22.13.0-beta.4 → 22.13.0-beta.5
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/bundle.scss +1633 -526
- package/bundles/datorama-core.umd.js +8 -9
- package/bundles/datorama-core.umd.js.map +1 -1
- package/bundles/datorama-core.umd.min.js +50 -50
- package/bundles/datorama-core.umd.min.js.map +1 -1
- package/datorama-core.metadata.json +1 -1
- package/esm2015/lib/grid/grid/grid.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +4 -3
- package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +2 -2
- package/esm2015/lib/grid-v2/grid-store/grid.service.js +4 -6
- package/esm5/lib/grid/grid/grid.component.js +1 -1
- package/esm5/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +4 -3
- package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +2 -2
- package/esm5/lib/grid-v2/grid-store/grid.service.js +4 -6
- package/fesm2015/datorama-core.js +8 -9
- package/fesm2015/datorama-core.js.map +1 -1
- package/fesm5/datorama-core.js +8 -9
- package/fesm5/datorama-core.js.map +1 -1
- package/package.json +1 -1
|
@@ -228,7 +228,7 @@ var DatoGridComponent = /** @class */ (function (_super) {
|
|
|
228
228
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
229
229
|
encapsulation: ViewEncapsulation.None,
|
|
230
230
|
providers: [valueAccessor],
|
|
231
|
-
styles: ["@font-face{font-family:agGridClassic;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,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\") format(\"truetype\");font-weight:400;font-style:normal}dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
|
|
231
|
+
styles: ["@font-face{font-family:agGridClassic;src:url(\"data:application/font-woff;charset=utf-8;base64,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\") format(\"woff\"),url(\"data:application/x-font-ttf;charset=utf-8;base64,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AAAAdAAAADoAAAB1AAAAdQAAAEkAAAB2AAAAdgAAAE4AAAB3AAAAdwAAAD4AAAB4AAAAeAAAAEUAAAB5AAAAeQAAAEsAAAB6AAAAegAAAE0AAPEBAADxAQAAAAEAAPECAADxAgAAAAIAAPEDAADxAwAAAAMAAPEEAADxBAAAAAQAAPEFAADxBQAAAAUAAPEGAADxBgAAAAYAAPEHAADxBwAAAAcAAPEIAADxCAAAAAgAAPEJAADxCQAAAAkAAPEKAADxCgAAAAoAAPELAADxCwAAAAsAAPEMAADxDAAAAAwAAPENAADxDQAAAA0AAPEOAADxDgAAAA4AAPEPAADxDwAAAA8AAPEQAADxEAAAABAAAPERAADxEQAAABEAAPESAADxEgAAABIAAPETAADxEwAAABMAAPEUAADxFAAAABUAAPEVAADxFQAAABYAAPEWAADxFgAAABcAAPEXAADxFwAAABgAAPEYAADxGAAAABkAAPEZAADxGQAAABoAAPEaAADxGgAAABsAAPEbAADxGwAAABwAAPEcAADxHAAAAB0AAPEdAADxHQAAAB4AAPEeAADxHgAAAB8AAPEfAADxHwAAACAAAPEgAADxIAAAACEAAPEhAADxIQAAACIAAPEiAADxIgAAACMAAPEjAADxIwAAACQAAPEkAADxJAAAACUAAPElAADxJQAAACYAAPEmAADxJgAAACcAAPEnAADxJwAAACgAAPEoAADxKAAAACkAAPEpAADxKQAAACoAAPEqAADxKgAAACsAAPErAADxKwAAACwAAPEsAADxLAAAAC0AAPEtAADxLQAAAC4AAPEuAADxLgAAAC8AAPEvAADxLwAAADAAAPEwAADxMAAAADEAAPExAADxMQAAADIAAPEyAADxMgAAADMAAPEzAADxMwAAADEAAPE0AADxNAAAACIAAPE1AADxNQAAAC8AAPE2AADxNgAAADQAAAAAABgAUgBqAIQA0AEUAVQBjAG+AdQCAAJIAmwCjgMUA2YDfgO+BCQEigTmBPwFFgViBaYF+AYQBigG0AcCB1QHcAfCB9AH4ggECFoIeAiUCPYJCgkcCWIJvAnUCf4KDAoaCigKNgpKCtQLXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteAAEAAAAAAzYDawAJ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AHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVAAC2FnZ3JlZ2F0aW9uBmFycm93cwNhc2MGY2FuY2VsBWNoYXJ0EGNoZWNrYm94LWNoZWNrZWQWY2hlY2tib3gtaW5kZXRlcm1pbmF0ZRJjaGVja2JveC11bmNoZWNrZWQMY29sb3ItcGlja2VyBmNvbHVtbgdjb2x1bW5zCmNvbnRyYWN0ZWQEY29weQVjcm9zcwNjdXQEZGF0YQRkZXNjCGV4cGFuZGVkCWV5ZS1zbGFzaAtleWUtc2xhc2gtMQNleWUGZmlsdGVyBWZpcnN0BGdyaXAFZ3JvdXANaW5kZXRlcm1pbmF0ZQRsYXN0BGxlZnQGbGlua2VkB2xvYWRpbmcIbWF4aW1pemUEbWVudQhtaW5pbWl6ZQVtaW51cwRuZXh0BG5vbmULbm90LWFsbG93ZWQFcGFzdGUDcGluBXBpdm90BHBsdXMIcHJldmlvdXMQcmFkaW8tYnV0dG9uLW9mZg9yYWRpby1idXR0b24tb24FcmlnaHQEc2F2ZQpzbWFsbC1kb3duCnNtYWxsLWxlZnQLc21hbGwtcmlnaHQIc21hbGwtdXAEdGljawh1bmxpbmtlZAp1bmxpbmtlZC0xAWEBZwFyAWUBdAFpAW8BbgF3AXMBYwFsAWgBawFiAXgBLQFkAW0BdQFwAXkBZgF6AXYAAAA=\") format(\"truetype\");font-weight:400;font-style:normal}dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
|
|
232
232
|
}),
|
|
233
233
|
__metadata("design:paramtypes", [DatoGridHelper,
|
|
234
234
|
ElementRef,
|
|
@@ -64,12 +64,13 @@ var DatoGridMultiSelectColumnHeaderComponent = /** @class */ (function () {
|
|
|
64
64
|
DatoGridMultiSelectColumnHeaderComponent = __decorate([
|
|
65
65
|
Component({
|
|
66
66
|
selector: 'dato-grid-multi-select-column-header',
|
|
67
|
-
template: "<dato-checkbox
|
|
68
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
67
|
+
template: "<dato-checkbox [formControl]=\"checkboxControl\" [indeterminatelyChecked]=\"indeterminatelyChecked\"></dato-checkbox>",
|
|
68
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
69
|
+
styles: [":host{height:100%;display:flex;align-items:center}"]
|
|
69
70
|
}),
|
|
70
71
|
__metadata("design:paramtypes", [GridService, GridQuery, ChangeDetectorRef])
|
|
71
72
|
], DatoGridMultiSelectColumnHeaderComponent);
|
|
72
73
|
return DatoGridMultiSelectColumnHeaderComponent;
|
|
73
74
|
}());
|
|
74
75
|
export { DatoGridMultiSelectColumnHeaderComponent };
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1tdWx0aS1zZWxlY3QtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC1jb2x1bW4taGVhZGVyL2dyaWQtbXVsdGktc2VsZWN0LWhlYWRlci9ncmlkLW11bHRpLXNlbGVjdC1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7QUFFSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU2pEO0lBTUUsa0RBQW9CLFdBQXdCLEVBQVUsU0FBb0IsRUFBVSxHQUFzQjtRQUF0RixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUwxRyxvQkFBZSxHQUFnQixJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUt1RCxDQUFDO0lBRTlHLHlEQUFNLEdBQU4sVUFBTyxNQUFxQjtRQUE1QixpQkFRQztRQVBDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFFbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFDLFdBQW9CO1lBQzFGLEtBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw2RUFBMEIsR0FBbEM7UUFBQSxpQkFZQztRQVhDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTthQUN0QixJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBakMsQ0FBaUMsQ0FBQyxFQUNsRCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLFVBQUMsRUFBdUU7Z0JBQXJFLGdEQUFxQixFQUFFLGdEQUFxQjtZQUN4RCxLQUFJLENBQUMsc0JBQXNCLEdBQUcscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDbEYsS0FBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMscUJBQXFCLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM3RSxLQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHVFQUFvQixHQUFwQixVQUFxQixXQUFvQjtRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsRUFBRTtZQUN6RCxJQUFBLG9DQUFzRSxFQUFwRSxnREFBcUIsRUFBRSx3QkFBNkMsQ0FBQztZQUM3RSxJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUMsR0FBRyxDQUFDLFVBQUMsSUFBYSxJQUFLLE9BQUEsSUFBSSxDQUFDLEVBQUUsRUFBUCxDQUFPLENBQUMsQ0FBQztZQUN4RixJQUFNLDRCQUE0QixHQUFHLElBQUksVUFBSyxxQkFBcUIsRUFBSyxXQUFXLEVBQUUsQ0FBQztZQUN0RixJQUFJLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDM0U7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLENBQUMsQ0FBQzthQUNuRztTQUNGO0lBQ0gsQ0FBQztJQUVELDhEQUFXLEdBQVgsY0FBcUIsQ0FBQzs7Z0JBekNXLFdBQVc7Z0JBQXFCLFNBQVM7Z0JBQWUsaUJBQWlCOztJQU4vRix3Q0FBd0M7UUFOcEQsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLHNDQUFzQztZQUNoRCxpSUFBd0Q7WUFFeEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O1NBQ2hELENBQUM7eUNBT2lDLFdBQVcsRUFBcUIsU0FBUyxFQUFlLGlCQUFpQjtPQU4vRix3Q0FBd0MsQ0FnRHBEO0lBQUQsK0NBQUM7Q0FBQSxBQWhERCxJQWdEQztTQWhEWSx3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgRGF0b3JhbWEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gQXBhY2hlIExpY2Vuc2UgMi4wIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL2RhdG9yYW1hL2NsaWVudC1jb3JlL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJSGVhZGVyQW5ndWxhckNvbXAgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgR3JpZEFwaSwgSUhlYWRlclBhcmFtcywgUm93Tm9kZSB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgR3JpZFF1ZXJ5IH0gZnJvbSAnLi4vLi4vZ3JpZC1zdG9yZS9ncmlkLnF1ZXJ5JztcbmltcG9ydCB7IHVuaXEgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hcnJheSc7XG5pbXBvcnQgeyBzaXplIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ25neC10YWtlLXVudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9ncmlkLXN0b3JlL2dyaWQuc2VydmljZSc7XG5pbXBvcnQgeyB0YWtlLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYXRvR3JpZE9wdGlvbnMsIEdyaWRSb3dzU2VsZWN0aW9uRGF0YSB9IGZyb20gJy4uLy4uL2dyaWQvZ3JpZC12Mi50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tZ3JpZC1tdWx0aS1zZWxlY3QtY29sdW1uLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLW11bHRpLXNlbGVjdC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLW11bHRpLXNlbGVjdC1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRNdWx0aVNlbGVjdENvbHVtbkhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgSUhlYWRlckFuZ3VsYXJDb21wIHtcbiAgY2hlY2tib3hDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChmYWxzZSk7XG4gIGluZGV0ZXJtaW5hdGVseUNoZWNrZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgZ3JpZEFwaTogR3JpZEFwaTtcbiAgcHJpdmF0ZSBncmlkT3B0aW9uczogRGF0b0dyaWRPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JpZFNlcnZpY2U6IEdyaWRTZXJ2aWNlLCBwcml2YXRlIGdyaWRRdWVyeTogR3JpZFF1ZXJ5LCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgYWdJbml0KHBhcmFtczogSUhlYWRlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZEFwaSA9IHBhcmFtcy5hcGk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHRoaXMuZ3JpZFF1ZXJ5LmdldEdyaWRPcHRpb25zKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVSb3dzU2VsZWN0aW9uRGF0YSgpO1xuXG4gICAgdGhpcy5jaGVja2JveENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoaXNTZWxlY3RBbGw6IGJvb2xlYW4pID0+IHtcbiAgICAgIHRoaXMudG9nZ2xlTXVsdGlTZWxlY3Rpb24oaXNTZWxlY3RBbGwpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVSb3dzU2VsZWN0aW9uRGF0YSgpIHtcbiAgICB0aGlzLmdyaWRRdWVyeS5ncmlkUmVhZHkkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ3JpZFF1ZXJ5LnJvd3NTZWxlY3Rpb25EYXRhJCksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IHNlbGVjdGVkUGFnZVJvd3NDb3VudCwgaXNBbGxQYWdlUm93c1NlbGVjdGVkIH06IEdyaWRSb3dzU2VsZWN0aW9uRGF0YSkgPT4ge1xuICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVseUNoZWNrZWQgPSBzZWxlY3RlZFBhZ2VSb3dzQ291bnQgPiAwICYmICFpc0FsbFBhZ2VSb3dzU2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuY2hlY2tib3hDb250cm9sLnBhdGNoVmFsdWUoaXNBbGxQYWdlUm93c1NlbGVjdGVkLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlTXVsdGlTZWxlY3Rpb24oaXNTZWxlY3RBbGw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNlbGVjdEFsbEN1cnJlbnRQYWdlUm93cyhpc1NlbGVjdEFsbCk7XG5cbiAgICBpZiAoIWlzU2VsZWN0QWxsICYmIHRoaXMuZ3JpZFF1ZXJ5LmlzU2VydmVyU2VsZWN0QWxsUm93c0VuYWJsZWQpIHtcbiAgICAgIGNvbnN0IHsgZXhjbHVkZWRGcm9tU2VsZWN0QWxsLCB0b3RhbFJvd3MgfSA9IHRoaXMuZ3JpZFF1ZXJ5LnNlcnZlclNpZGVDb25maWc7XG4gICAgICBjb25zdCBwYWdlUm93c0lkcyA9IHRoaXMuZ3JpZFF1ZXJ5LmdldEN1cnJlbnRQYWdlUm93cygpLm1hcCgobm9kZTogUm93Tm9kZSkgPT4gbm9kZS5pZCk7XG4gICAgICBjb25zdCB1cGRhdGVkRXhjbHVkZWRGcm9tU2VsZWN0QWxsID0gdW5pcShbLi4uZXhjbHVkZWRGcm9tU2VsZWN0QWxsLCAuLi5wYWdlUm93c0lkc10pO1xuICAgICAgaWYgKHNpemUodXBkYXRlZEV4Y2x1ZGVkRnJvbVNlbGVjdEFsbCkgPT09IHRvdGFsUm93cykge1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLnNldFNlcnZlclNpZGVQYWdpbmF0aW9uKHsgc2VsZWN0QWxsUm93c0VuYWJsZWQ6IGZhbHNlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5zZXRTZXJ2ZXJTaWRlUGFnaW5hdGlvbih7IGV4Y2x1ZGVkRnJvbVNlbGVjdEFsbDogdXBkYXRlZEV4Y2x1ZGVkRnJvbVNlbGVjdEFsbCB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHt9XG59XG4iXX0=
|
|
@@ -109,7 +109,7 @@ var DatoGridPaginationV2Component = /** @class */ (function () {
|
|
|
109
109
|
*/
|
|
110
110
|
DatoGridPaginationV2Component.prototype.calculateRowsCount = function (totalRows) {
|
|
111
111
|
this.totalPages = totalRows ? Math.ceil(totalRows / this.rowsPerPage) : this.gridApi.paginationGetTotalPages();
|
|
112
|
-
this.rowCount = this.gridApi.
|
|
112
|
+
this.rowCount = this.gridApi.getDisplayedRowCount();
|
|
113
113
|
this.setRowsDisplayRange(this.pageNumbersDisplay.currentPage);
|
|
114
114
|
this.cdr.detectChanges();
|
|
115
115
|
};
|
|
@@ -325,4 +325,4 @@ var DatoGridPaginationV2Component = /** @class */ (function () {
|
|
|
325
325
|
return DatoGridPaginationV2Component;
|
|
326
326
|
}());
|
|
327
327
|
export { DatoGridPaginationV2Component };
|
|
328
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFTN0I7SUF1REUsdUNBQ1UsR0FBc0IsRUFDdEIsU0FBK0IsRUFDL0IsU0FBb0IsRUFDcEIsV0FBd0IsRUFDeEIsVUFBdUMsRUFDdkMsV0FBd0I7UUFMeEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUE2QjtRQUN2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQTVDbEMsMkZBQTJGO1FBQzNGLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLDZGQUE2RjtRQUM3RixpQkFBWSxHQUFtQixJQUFJLENBQUM7UUFLcEMscUNBQXFDO1FBQ3JDLHVCQUFrQixHQUFHO1lBQ25CLFdBQVcsRUFBRSxDQUFDO1lBQ2QsS0FBSyxFQUFFLEVBQUU7WUFDVCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUM7UUFFRixnRUFBZ0U7UUFDaEUsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBVW5CLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUV2Qyw2RkFBNkY7UUFDNUUsd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO1FBQ2hDLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzVDLDZGQUE2RjtRQUM1RSxvQkFBZSxHQUFXLEdBQUcsQ0FBQztRQUM5Qix1QkFBa0IsR0FBVyxHQUFHLENBQUM7SUFTL0MsQ0FBQztJQXZESixzQkFBSSxrREFBTztRQU5YOzs7O1dBSUc7YUFFSCxVQUFZLE9BQW1CO1lBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7WUFDakMsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2FBQ2hDO1FBQ0gsQ0FBQzs7O09BQUE7SUFvREQsc0JBQUksMkRBQWdCO2FBQXBCO1lBQ0UsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDJEQUFnQjthQUFwQjtZQUNFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2pFLENBQUM7OztPQUFBO0lBRUQsZ0RBQVEsR0FBUjtRQUFBLGlCQW9DQztRQW5DQyxJQUFJLENBQUMsU0FBUzthQUNYLFdBQVcsQ0FBQztZQUNYLE9BQUEsS0FBSyxDQUNILEtBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDcEMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUNyQyxLQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDM0M7UUFKRCxDQUlDLENBQ0Y7YUFDQSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFCLFNBQVMsQ0FBQztZQUNULEtBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsS0FBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVO2FBQ3RCLElBQUksQ0FDSCxHQUFHLENBQUM7WUFDRixJQUFNLGVBQWUsR0FBRyxLQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUV4RSxLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN2QyxLQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztZQUM3RSxLQUFJLENBQUMsa0JBQWtCLEdBQUcsZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQztZQUNSLEtBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztZQUMxRCxPQUFPLEtBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7UUFDekcsQ0FBQyxDQUFDLEVBQ0YsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixPQUFPLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxjQUFjLEVBQUUsRUFBckIsQ0FBcUIsQ0FBQyxFQUNwQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLFVBQUMsRUFBZ0Q7Z0JBQTlDLHNCQUFrQixFQUFsQix1Q0FBa0I7WUFDOUIsK0VBQStFO1lBQy9FLEtBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMERBQWtCLEdBQWxCLFVBQW1CLFNBQWlCO1FBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELHNEQUFjLEdBQWQsVUFBZSxVQUFjO1FBQWQsMkJBQUEsRUFBQSxjQUFjO1FBQ3JCLElBQUEsb0NBQXdELEVBQXRELHdCQUFTLEVBQUUsb0JBQTJDLENBQUM7UUFDL0QsSUFBSSxPQUFPLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUFFLE9BQU87UUFDeEMsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQywrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3ZDLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFPRCxzQkFBSSxzREFBVztRQUxmOzs7O1dBSUc7YUFDSCxVQUFnQixnQkFBd0I7WUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQztZQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDN0QsMENBQTBDO1lBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLENBQUM7OztPQUFBO0lBRUQsaURBQWlEO0lBQ2pELCtEQUF1QixHQUF2QjtRQUNFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNwRixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQzFELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtnQkFDMUMsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2lCQUM3QzthQUNGO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO29CQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztvQkFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO2lCQUN4QzthQUNGO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsb0RBQVksR0FBWixVQUFhLFVBQWtCO1FBQzdCLElBQUksVUFBVSxJQUFJLENBQUMsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMscURBQXFEO1lBQ3JELElBQU0sYUFBYSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7WUFFcEQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNwRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDOUQ7WUFFRCxnQ0FBZ0M7WUFDaEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQseURBQWlCLEdBQWpCO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsd0RBQWdCLEdBQWhCO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELHdEQUFnQixHQUFoQjtRQUNFLGlGQUFpRjtRQUNqRixJQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxxREFBYSxHQUFiO1FBQ0UsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDeEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNILHlEQUFpQixHQUFqQjtRQUNFLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxtREFBVyxHQUFYLFVBQVksS0FBYSxFQUFFLElBQVk7UUFDckMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQseURBQWlCLEdBQWpCO1FBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbURBQVcsR0FBWCxVQUFZLElBQTZCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxtREFBVyxHQUFYLGNBQXFCLENBQUM7SUFFdEI7Ozs7T0FJRztJQUNLLDJEQUFtQixHQUEzQixVQUE0QixhQUFhO1FBQ3ZDLGlFQUFpRTtRQUNqRSxJQUFNLFVBQVUsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLElBQU0sYUFBYSxHQUFHLENBQUMsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN4RCxJQUFNLE9BQU8sR0FBRyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkUsSUFBSSxDQUFDLFNBQVM7WUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFO29CQUMxQyxLQUFLLEVBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFHO29CQUNuRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztpQkFDbEQsQ0FBQztnQkFDSixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxnREFBUSxHQUFoQixVQUFpQixNQUFjO1FBQzdCLElBQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMxQix5RkFBeUY7UUFDekYsa0ZBQWtGO1FBQ2xGLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpHLHVDQUF1QztRQUN2QyxJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO1FBQ0Qsb0ZBQW9GO1FBQ3BGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLGNBQWMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDaEYsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDOUM7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSywwREFBa0IsR0FBMUIsVUFBMkIsTUFBYztRQUN2QyxJQUFJLFdBQVcsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM3QyxzRUFBc0U7UUFDdEUsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDOUIsV0FBVyxHQUFHLE1BQU0sQ0FBQzthQUN0QjtTQUNGO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRTtZQUNyRCxXQUFXLEdBQUcsQ0FBQyxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUU7WUFDaEQsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVPLHdEQUFnQixHQUF4QixVQUF5QixVQUFrQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs7Z0JBOVBjLGlCQUFpQjtnQkFDWCxvQkFBb0I7Z0JBQ3BCLFNBQVM7Z0JBQ1AsV0FBVztnQkFDWiwyQkFBMkI7Z0JBQzFCLFdBQVc7O0lBdERsQztRQURDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7a0NBQ3JCLFVBQVU7eUNBQVYsVUFBVTtnRUFLOUI7SUFaVSw2QkFBNkI7UUFQekMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQywyNUlBQStDO1lBRS9DLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQzs7U0FDekIsQ0FBQzt5Q0F5RGUsaUJBQWlCO1lBQ1gsb0JBQW9CO1lBQ3BCLFNBQVM7WUFDUCxXQUFXO1lBQ1osMkJBQTJCO1lBQzFCLFdBQVc7T0E3RHZCLDZCQUE2QixDQXVUekM7SUFBRCxvQ0FBQztDQUFBLEFBdlRELElBdVRDO1NBdlRZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZEFwaSB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnbmd4LXRha2UtdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBEYXRvVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHcmlkUXVlcnkgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQucXVlcnknO1xuaW1wb3J0IHsgRGF0b0dyaWRDb250cm9sbGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzJztcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vZ3JpZC1zdG9yZS9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0b0dyaWREYXRhQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi4vZ3JpZC9ncmlkLXYyLnR5cGVzJztcbmltcG9ydCB7IHRhcE9uY2UgfSBmcm9tICcuLi8uLi9yeC90YXAnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkLXBhZ2luYXRpb24tdjInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtEZWNpbWFsUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRQYWdpbmF0aW9uVjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogVGhpcyBzZXR0ZXIgaXMgdXNlZCB0byBhc3NpZ24gdGhlIG5hdmlnYXRpb24gZWxlbWVudCByZWYgYW5kIHRvIHNldFxuICAgKiB0aGUgcGFnaW5hdGlvbiBzaXplIHdoZW4gdGhlIGNvbXBvbmVudCBzdGFydHNcbiAgICogQHBhcmFtIHtFbGVtZW50UmVmfSBjb250ZW50XG4gICAqL1xuICBAVmlld0NoaWxkKCduYXZpZ2F0aW9uJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgc2V0IGNvbnRlbnQoY29udGVudDogRWxlbWVudFJlZikge1xuICAgIHRoaXMubmF2aWdhdGlvbkVsZW1lbnQgPSBjb250ZW50O1xuICAgIGlmIChjb250ZW50ICYmIHRoaXMuc21hbGxWZXJzaW9uID09PSBudWxsKSB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZU5hdmlnYXRpb25TaXplKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gbnVtYmVyIG9mIHJvd3MgaW4gdGhlIHRhYmxlXG4gIHJvd0NvdW50OiBudW1iZXI7XG4gIHJvd3NQZXJQYWdlOiBudW1iZXI7XG4gIC8vIHdoZW4gdGhlIHdpZGdldCdzIHdpZHRoIGlzIHNtYWxsZXIgdGhhbiBYU19ESVNQTEFZX1NJWkUgZGlzYWJsZSBnbyB0byBmaXJzdC9sYXN0IGJ1dHRvbnNcbiAgZGlzYWJsZUJ1dHRvbnM6IGJvb2xlYW4gPSBudWxsO1xuICAvLyB3aGVuIHRoZSB3aWRnZXQncyB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gU01BTExfRElTUExBWV9TSVpFIGNoYW5nZSB0byBzbWFsbCBwYWdpbmF0aW9uIHZpZXdcbiAgc21hbGxWZXJzaW9uOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gIC8vIG51bWJlciBvZiBwYWdlcyBpbiB0aGUgdGFibGVcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICAvLyBUaGUgZGlzcGxheSByb3dzIHJhbmdlXG4gIHJvd3NSYW5nZTogc3RyaW5nO1xuICAvLyBtYW5hZ2luZyBvYmplY3QgZm9yIHRoZSBuYXZpZ2F0aW9uXG4gIHBhZ2VOdW1iZXJzRGlzcGxheSA9IHtcbiAgICBjdXJyZW50UGFnZTogMSxcbiAgICBwYWdlczogW10sXG4gICAgc2hvd0ZpcnN0RWxsaXBzaXM6IGZhbHNlLFxuICAgIHNob3dMYXN0UGFnZTogZmFsc2VcbiAgfTtcblxuICAvLyBTaG93IGZpdCBjZWxsIGNvbnRlbnQgYW5kIGNvbGxhcHNlL2V4cGFuZCByb3cgZ3JvdXBzIGNvbnRyb2xzXG4gIHNob3dCb3R0b21Db250cm9scyA9IGZhbHNlO1xuICBpc0V4cGFuZGVkID0gdHJ1ZTtcbiAgaGFzUm93R3JvdXBDb2x1bW5zID0gZmFsc2U7XG5cbiAgLy8gaG93IG1hbnkgbnVtYmVycyBhcmUgc2hvd2luZyBvbiB0aGUgc2FtZSB0aW1lIGJlc2lkZXMgdGhlIGxhc3QgcGFnZSBudW1iZXJcbiAgcHJpdmF0ZSBfcGFnZXNJblZpZXc6IG51bWJlcjtcbiAgLy8gVGhlIG51bWJlciBvZiBwYWdlcyBkaXNwbGF5ZWQgb24gZWFjaCBzaWRlIG9mIHRoZSBzZWxlY3RlZCBwYWdlLlxuICBwcml2YXRlIHBhZ2VzT25TaWRlczogbnVtYmVyO1xuICAvLyBpZiB0aGUgbnVtYmVyIG9mIHBhZ2VzIGluIHRoZSB0YWJsZSBmaXRzIHRoZSBudW1iZXIgb2YgZGlzcGxheWluZyBwYWdlc1xuICBwcml2YXRlIHBhZ2VzRml0VmlldzogYm9vbGVhbjtcbiAgLy8gaG93IG1hbnkgbnVtYmVycyB0byBzaG93IG9uIGVhY2ggc2lkZSBiZXNpZGVzIHRoZSBzZWxlY3RlZCBudW1iZXJcbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uRWxlbWVudDogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBpc1NlcnZlclNpZGVQYWdpbmF0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgZ3JpZEFwaTogR3JpZEFwaTtcbiAgLy8gVGhlIG51bWJlciBvZiBwYWdlcyBkaXNwbGF5ZWQgaW4gdGhlIG5hdmlnYXRpb24gcGFuZWwgZm9yIGVhY2ggdmlldyBhcyBkZWZpbmVkIGJ5IHByb2R1Y3QuXG4gIHByaXZhdGUgcmVhZG9ubHkgTUlOSV9ESVNQTEFZX0xFTkdUSDogbnVtYmVyID0gMjtcbiAgcHJpdmF0ZSByZWFkb25seSBESVNQTEFZX0xFTkdUSDogbnVtYmVyID0gNTtcbiAgLy8gV2lkZ2V0J3Mgd2lkdGggdGhlIGRldGVybWluZXMgdGhlIHBhZ2luYXRpb24gdmlldyB0eXBlIFsgc21hbGwsIHhzXSBhcyBkZWZpbmVkIGJ5IHByb2R1Y3QuXG4gIHByaXZhdGUgcmVhZG9ubHkgWFNfRElTUExBWV9TSVpFOiBudW1iZXIgPSAxNjA7XG4gIHByaXZhdGUgcmVhZG9ubHkgU01BTExfRElTUExBWV9TSVpFOiBudW1iZXIgPSAzOTA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBEYXRvVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGdyaWRRdWVyeTogR3JpZFF1ZXJ5LFxuICAgIHByaXZhdGUgZ3JpZFNlcnZpY2U6IEdyaWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udHJvbGxlcjogRGF0b0dyaWRDb250cm9sbGVyQ29tcG9uZW50LFxuICAgIHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlXG4gICkge31cblxuICBnZXQgcHJldlBhZ2VEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UgPT09IDE7XG4gIH1cblxuICBnZXQgbmV4dFBhZ2VEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UgPT09IHRoaXMudG90YWxQYWdlcztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ3JpZFF1ZXJ5XG4gICAgICAud2FpdEZvckdyaWQoKCkgPT5cbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgdGhpcy5ncmlkUXVlcnkuZ3JpZFJlZi5maWx0ZXJDaGFuZ2VkLFxuICAgICAgICAgIHRoaXMuZ3JpZFF1ZXJ5LmdyaWRSZWYucm93R3JvdXBPcGVuZWQsXG4gICAgICAgICAgdGhpcy5ncmlkUXVlcnkuZ3JpZFJlZi5leHBhbmRPckNvbGxhcHNlQWxsXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR29Ub1BhZ2UoMCk7XG4gICAgICAgIHRoaXMuaW5pdFBhZ2luYXRpb24oKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ncmlkUXVlcnkuZ3JpZFJlYWR5JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgcm93R3JvdXBDb2x1bW5zID0gdGhpcy5ncmlkUXVlcnkuYXBpLmNvbHVtbnMuZ2V0Um93R3JvdXBDb2x1bW5zKCk7XG5cbiAgICAgICAgICB0aGlzLmdyaWRBcGkgPSB0aGlzLmdyaWRRdWVyeS5hcGkuZ3JpZDtcbiAgICAgICAgICB0aGlzLnNob3dCb3R0b21Db250cm9scyA9IHRoaXMuZ3JpZFF1ZXJ5LmdldEdyaWRPcHRpb25zKCkuc2hvd0JvdHRvbUNvbnRyb2xzO1xuICAgICAgICAgIHRoaXMuaGFzUm93R3JvdXBDb2x1bW5zID0gcm93R3JvdXBDb2x1bW5zICYmIHJvd0dyb3VwQ29sdW1ucy5sZW5ndGggPiAwO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzU2VydmVyU2lkZVBhZ2luYXRpb24gPSB0aGlzLmdyaWRRdWVyeS5pc1NlcnZlclNpZGU7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNTZXJ2ZXJTaWRlUGFnaW5hdGlvbiA/IHRoaXMuZ3JpZFF1ZXJ5LnNlcnZlckRhdGFMb2FkZWQkIDogdGhpcy5ncmlkUXVlcnkucm93RGF0YUNoYW5nZWQkO1xuICAgICAgICB9KSxcbiAgICAgICAgdGhyb3R0bGVUaW1lKDEwMCksXG4gICAgICAgIHRhcE9uY2UoKCkgPT4gdGhpcy5pbml0UGFnaW5hdGlvbigpKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgcGFnaW5hdGlvblBhZ2UgPSAxIH06IERhdG9HcmlkRGF0YUNoYW5nZWRFdmVudCkgPT4ge1xuICAgICAgICAvKiogIEFnIGdyaWQgaW5kZXggaXMgZnJvbSAwLCBidXQgdGhlIGluZGV4IGZpcmVkIGZyb20gdGhlIGV2ZW50IHN0YXJ0IGZyb20gMSovXG4gICAgICAgIHRoaXMuaW5pdFBhZ2luYXRpb24ocGFnaW5hdGlvblBhZ2UgLSAxKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY2FsY3VsYXRlIHRoZSByb3cgY291bnQgYW5kIHBhZ2UgbGVuZ3Roc1xuICAgKi9cbiAgY2FsY3VsYXRlUm93c0NvdW50KHRvdGFsUm93czogbnVtYmVyKSB7XG4gICAgdGhpcy50b3RhbFBhZ2VzID0gdG90YWxSb3dzID8gTWF0aC5jZWlsKHRvdGFsUm93cyAvIHRoaXMucm93c1BlclBhZ2UpIDogdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25HZXRUb3RhbFBhZ2VzKCk7XG4gICAgdGhpcy5yb3dDb3VudCA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Um93Q291bnQoKTtcbiAgICB0aGlzLnNldFJvd3NEaXNwbGF5UmFuZ2UodGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGluaXRQYWdpbmF0aW9uKHBhZ2VOdW1iZXIgPSAwKSB7XG4gICAgY29uc3QgeyB0b3RhbFJvd3MsIGVuYWJsZWQgfSA9IHRoaXMuZ3JpZFF1ZXJ5LnNlcnZlclNpZGVDb25maWc7XG4gICAgaWYgKGVuYWJsZWQgJiYgaXNOaWwodG90YWxSb3dzKSkgcmV0dXJuO1xuICAgIC8qKiByZXR1cm5zIHRoZSBsZW5ndGggb2YgdGhlIHBhZ2VzIHN0YXJ0aW5nIGZyb20gMSAqL1xuICAgIHRoaXMucm93c1BlclBhZ2UgPSB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdldFBhZ2VTaXplKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVSb3dzQ291bnQodG90YWxSb3dzKTtcbiAgICAvKiogc2V0IHRoZSBpbml0IHZhbHVlIG9mIHRoZSBwYWdpbmF0aW9uIHZpZXcgdG8gbm9ybWFsIHNpemUgKi9cbiAgICB0aGlzLnBhZ2VzSW5WaWV3ID0gdGhpcy5ESVNQTEFZX0xFTkdUSDtcbiAgICAvKiogY3VycmVudCBwYWdlIGluZGV4IHN0YXJ0cyBmcm9tIDAgKi9cbiAgICB0aGlzLm5hdmlnYXRlUGFnZShwYWdlTnVtYmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIG51bWJlciBvZiBwYWdlIG51bWJlcnMgc2hvd2luZyBhdCB0aGUgc2FtZSB0aW1lIGluIHRoZSBuYXZpZ2F0aW9uXG4gICAqIHBhbmVsICYgdXBkYXRlIHRoZSBudW1iZXIgb2YgcGFnZXMgZGlzcGxheWVkIG9uIGVhY2ggc2lkZSBvZiB0aGUgc2VsZWN0ZWQgcGFnZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IG5ld051bWJlcnNMZW5ndGggLSBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgZGlzcGxheWluZyBudW1iZXJzXG4gICAqL1xuICBzZXQgcGFnZXNJblZpZXcobmV3TnVtYmVyc0xlbmd0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZXNJblZpZXcgPSBuZXdOdW1iZXJzTGVuZ3RoO1xuICAgIHRoaXMucGFnZXNPblNpZGVzID0gTWF0aC5mbG9vcih0aGlzLl9wYWdlc0luVmlldyAvIDIpO1xuICAgIHRoaXMucGFnZXNGaXRWaWV3ID0gdGhpcy5fcGFnZXNJblZpZXcgKyAxID49IHRoaXMudG90YWxQYWdlcztcbiAgICAvLyBpbnZhbGlkYXRlIGRpc3BsYXlpbmcgcGFnZXMgdXBvbiByZXNpemVcbiAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5wYWdlcyA9IFtdO1xuICB9XG5cbiAgLyoqIFRPRE8gVGhpcyBpcyBub3QgbGlzdGVuaW5nIHRvIHNpemUgY2hhbmdlcyAqL1xuICBjYWxjdWxhdGVOYXZpZ2F0aW9uU2l6ZSgpIHtcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uRWxlbWVudCkge1xuICAgICAgY29uc3QgZWxlbWVudFdpZHRoID0gdGhpcy5uYXZpZ2F0aW9uRWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICB0aGlzLmRpc2FibGVCdXR0b25zID0gZWxlbWVudFdpZHRoIDwgdGhpcy5YU19ESVNQTEFZX1NJWkU7XG4gICAgICBpZiAoZWxlbWVudFdpZHRoIDwgdGhpcy5TTUFMTF9ESVNQTEFZX1NJWkUpIHtcbiAgICAgICAgaWYgKHRoaXMuX3BhZ2VzSW5WaWV3ICE9PSB0aGlzLk1JTklfRElTUExBWV9MRU5HVEgpIHtcbiAgICAgICAgICB0aGlzLnNtYWxsVmVyc2lvbiA9IHRydWU7XG4gICAgICAgICAgdGhpcy5wYWdlc0luVmlldyA9IHRoaXMuTUlOSV9ESVNQTEFZX0xFTkdUSDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuX3BhZ2VzSW5WaWV3ICE9PSB0aGlzLkRJU1BMQVlfTEVOR1RIKSB7XG4gICAgICAgICAgdGhpcy5zbWFsbFZlcnNpb24gPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnBhZ2VzSW5WaWV3ID0gdGhpcy5ESVNQTEFZX0xFTkdUSDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZXMgdG8gYSBnaXZlbiBwYWdlLlxuICAgKiB1cGRhdGVzIHRoZSBkaXNwbGF5aW5nIHBhZ2UgbnVtYmVycyBhbmQgdGhlIGN1cnJlbnQgbnVtYmVyLlxuICAgKiBAcGFyYW0gcGFnZU51bWJlciAtIFRoZSBwYWdlIG51bWJlciB0byBuYXZpZ2F0ZSB0b1xuICAgKi9cbiAgbmF2aWdhdGVQYWdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIGlmIChwYWdlTnVtYmVyID49IDAgJiYgcGFnZU51bWJlciA8PSB0aGlzLnRvdGFsUGFnZXMgLSAxKSB7XG4gICAgICB0aGlzLnNob3VsZFNob3dMb2FkZXIocGFnZU51bWJlcikgJiYgdGhpcy5ncmlkU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25Hb1RvUGFnZShwYWdlTnVtYmVyKTtcbiAgICAgIC8vIEFkZCAxIGJlY2F1c2UgYWctZ3JpZCBBUEkgd29ya3Mgd2l0aCBmaXJzdCBpbmRleCAwXG4gICAgICBjb25zdCBkaXNwbGF5TnVtYmVyID0gcGFnZU51bWJlciArIDE7XG4gICAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5jdXJyZW50UGFnZSA9IGRpc3BsYXlOdW1iZXI7XG5cbiAgICAgIGlmICh0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5wYWdlcy5sZW5ndGggPT09IDAgfHwgIXRoaXMucGFnZXNGaXRWaWV3KSB7XG4gICAgICAgIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnBhZ2VzID0gdGhpcy5nZXRQYWdlcyhkaXNwbGF5TnVtYmVyKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0IHRoZSBkaXNwbGF5aW5nIHJvd3MgcmFuZ2VcbiAgICAgIHRoaXMuc2V0Um93c0Rpc3BsYXlSYW5nZShkaXNwbGF5TnVtYmVyKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZUZpcnN0UGFnZSgpIHtcbiAgICB0aGlzLm5hdmlnYXRlUGFnZSgwKTtcbiAgfVxuXG4gIG5hdmlnYXRlTmV4dFBhZ2UoKSB7XG4gICAgdGhpcy5uYXZpZ2F0ZVBhZ2UodGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UpO1xuICB9XG5cbiAgbmF2aWdhdGVQcmV2UGFnZSgpIHtcbiAgICAvKiogYWctZ3JpZCBBUEkgd29ya3Mgd2l0aCBmaXJzdCBpbmRleCAwIHNvIHdlIG5lZWQgdG8gcmVkdWNlIDIgaW5zdGVhZCBvZiBvbmUgKi9cbiAgICBjb25zdCBwcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LmN1cnJlbnRQYWdlIC0gMjtcbiAgICB0aGlzLm5hdmlnYXRlUGFnZShwcmV2aW91c1BhZ2VJbmRleCk7XG4gIH1cblxuICAvKipcbiAgICogdXBkYXRlcyB0aGUgZGlzcGxheWluZyBwYWdlIG51bWJlcnMgdG8gc2hvdyB0aGUgbmV4dCBudW1iZXJzIHNldFxuICAgKi9cbiAgc2hvd05leHRCYXRjaCgpIHtcbiAgICBjb25zdCBhbmNob3IgPSB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5wYWdlc1swXSArIHRoaXMuX3BhZ2VzSW5WaWV3ICsgdGhpcy5wYWdlc09uU2lkZXM7XG4gICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXMgPSB0aGlzLmdldFBhZ2VzKGFuY2hvcik7XG4gIH1cblxuICAvKipcbiAgICogdXBkYXRlcyB0aGUgZGlzcGxheWluZyBwYWdlIG51bWJlcnMgdG8gc2hvdyB0aGUgcHJldmlvdXMgbnVtYmVycyBzZXRcbiAgICovXG4gIHNob3dQcmV2aW91c0JhdGNoKCkge1xuICAgIGNvbnN0IGFuY2hvciA9IHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnBhZ2VzWzBdIC0gdGhpcy5fcGFnZXNJblZpZXcgKyB0aGlzLnBhZ2VzT25TaWRlcztcbiAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5wYWdlcyA9IHRoaXMuZ2V0UGFnZXMoYW5jaG9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdHJhY2tCeSBmdW5jdGlvbiBmb3IgdGhlIG5nRm9yXG4gICAqIEBwYXJhbSBpbmRleCAtIGN1cnJlbnQgaXRlbSBpbmRleFxuICAgKiBAcGFyYW0gcGFnZSAtIHRoZSBjdXJyZW50IGl0ZW0ncyBwYWdlIG51bWJlclxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB0cmFja0J5UGFnZShpbmRleDogbnVtYmVyLCBwYWdlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gcGFnZTtcbiAgfVxuXG4gIHRvZ2dsZUdyb3Vwc1N0YXRlKCkge1xuICAgIHRoaXMuaXNFeHBhbmRlZCA/IHRoaXMuZ3JpZEFwaS5jb2xsYXBzZUFsbCgpIDogdGhpcy5ncmlkQXBpLmV4cGFuZEFsbCgpO1xuICAgIHRoaXMuaXNFeHBhbmRlZCA9ICF0aGlzLmlzRXhwYW5kZWQ7XG4gIH1cblxuICBhdXRvRml0R3JpZCh0eXBlOiAnY29udGFpbmVyJyB8ICdjb250ZW50Jykge1xuICAgIHRoaXMuZ3JpZFNlcnZpY2UuZml0R3JpZCh0eXBlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge31cblxuICAvKipcbiAgICogU2V0cyB0aGUgcm93cyBkaXNwbGF5IHN0cmluZ1xuICAgKiBAcGFyYW0gZGlzcGxheU51bWJlciAtIFRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIChzdGFydGluZyBpbmRleCAxKVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRSb3dzRGlzcGxheVJhbmdlKGRpc3BsYXlOdW1iZXIpOiB2b2lkIHtcbiAgICAvKiogRGVjcmVhc2UgYnkgMSBiZWNhdXNlIGFnLWdyaWQgQVBJIHdvcmtzIHdpdGggZmlyc3QgaW5kZXggMCAqL1xuICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSBkaXNwbGF5TnVtYmVyIC0gMTtcbiAgICBjb25zdCBmaXJzdFJvd0luZGV4ID0gMSArIHBhZ2VOdW1iZXIgKiB0aGlzLnJvd3NQZXJQYWdlO1xuICAgIGNvbnN0IGxhc3RSb3cgPSAocGFnZU51bWJlciArIDEpICogdGhpcy5yb3dzUGVyUGFnZTtcbiAgICBjb25zdCBsYXN0Um93SW5kZXggPSB0aGlzLnJvd0NvdW50ID4gbGFzdFJvdyA/IGxhc3RSb3cgOiB0aGlzLnJvd0NvdW50O1xuICAgIHRoaXMucm93c1JhbmdlID1cbiAgICAgIHRoaXMucm93Q291bnQgPiAwXG4gICAgICAgID8gdGhpcy50cmFuc2xhdGUudHJhbnNmb3JtKCdjb3JlLml0ZW1zUmFuZ2UnLCB7XG4gICAgICAgICAgICByYW5nZTogYCR7dGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oZmlyc3RSb3dJbmRleCl9IC0gJHt0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybShsYXN0Um93SW5kZXgpfWAsXG4gICAgICAgICAgICBudW1iZXI6IHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHRoaXMucm93Q291bnQpXG4gICAgICAgICAgfSlcbiAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0oJ2NvcmUubnVtYmVyT2ZJdGVtcycsIHsgbnVtYmVyOiAwIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBudW1iZXIgYW5kIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIGRpc3BsYXlpbmcgbnVtYmVycy5cbiAgICogQHBhcmFtIGFuY2hvciAtIFRoZSBudW1iZXIgdG8gdXNlIGFzIGFuIGFuY2hvciBmb3IgdGhlIGNhbGN1bGF0aW9ucy5cbiAgICogQHJldHVybiB7bnVtYmVyW119IC0gQW4gYXJyYXkgb2YgdGhlIG5ldyBudW1iZXJzIHRvIGRpc3BsYXlcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZ2V0UGFnZXMoYW5jaG9yOiBudW1iZXIpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgcGFnZXNUb0Rpc3BsYXkgPSBbXTtcbiAgICAvLyBpbmRpY2F0ZXMgcmF0aGVyIHRoZSB0YWJsZSBoYXMgbW9yZSBwYWdlcyB0aGFuIHRoZSBkaXNwbGF5IGxlbmd0aCwgd2UgYWRkIDEgYmVjYXVzZSBvZlxuICAgIC8vIGEgbG9naWMgdGhhdCBzYXlzIHRoYXQgaWYgeW91ciBjdXJyZW50IHZpZXcgaXMgMSBudW1iZXIgYXdheSBmcm9tIHRoZSBsYXN0IHBhZ2VcbiAgICAvLyBkaXNwbGF5IGhpbSBhcyB3ZWxsLlxuICAgIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnNob3dMYXN0UGFnZSA9ICF0aGlzLnBhZ2VzRml0VmlldyAmJiBhbmNob3IgKyB0aGlzLnBhZ2VzT25TaWRlcyA8IHRoaXMudG90YWxQYWdlcztcbiAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5zaG93Rmlyc3RFbGxpcHNpcyA9ICF0aGlzLnBhZ2VzRml0VmlldyAmJiBhbmNob3IgLSB0aGlzLnBhZ2VzT25TaWRlcyA+IDE7XG5cbiAgICAvLyBzZXQgdGhlIGZpcnN0IG51bWJlciB0byBiZSBkaXNwbGF5ZWRcbiAgICBjb25zdCBmaXJzdE51bWJlciA9IHRoaXMuZ2V0Rmlyc3RQYWdlTnVtYmVyKGFuY2hvcik7XG4gICAgY29uc3QgbG9vcExlbmd0aCA9IHRoaXMucGFnZXNGaXRWaWV3ID8gdGhpcy50b3RhbFBhZ2VzIDogdGhpcy5fcGFnZXNJblZpZXc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsb29wTGVuZ3RoOyBpKyspIHtcbiAgICAgIHBhZ2VzVG9EaXNwbGF5LnB1c2goZmlyc3ROdW1iZXIgKyBpKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGxhc3QgZGlzcGxheWVkIG51bWJlciBpcyAxIG51bWJlciBiZWZvcmUgdGhlIGxhc3QgcGFnZSBkaXNwbGF5IGhpbSBhcyB3ZWxsXG4gICAgaWYgKCF0aGlzLnNtYWxsVmVyc2lvbiAmJiBwYWdlc1RvRGlzcGxheVtsb29wTGVuZ3RoIC0gMV0gKyAxID09PSB0aGlzLnRvdGFsUGFnZXMpIHtcbiAgICAgIHBhZ2VzVG9EaXNwbGF5LnB1c2godGhpcy50b3RhbFBhZ2VzKTtcbiAgICAgIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnNob3dMYXN0UGFnZSA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gcGFnZXNUb0Rpc3BsYXk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmlyc3QgbnVtYmVyIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgcGFnaW5hdGlvbiBuYXZpZ2F0aW9uIHZpZXdcbiAgICogQHBhcmFtIHtudW1iZXJ9IGFuY2hvciAtIFRoZSBhbmNob3IgZm9yIHRoZSBjYWxjdWxhdGlvbnNcbiAgICogQHJldHVybiB7bnVtYmVyfSAtIFRoZSBmaXJzdCBudW1iZXIgdG8gYmUgZGlzcGxheWVkXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldEZpcnN0UGFnZU51bWJlcihhbmNob3I6IG51bWJlcik6IG51bWJlciB7XG4gICAgbGV0IGZpcnN0TnVtYmVyID0gYW5jaG9yIC0gdGhpcy5wYWdlc09uU2lkZXM7XG4gICAgLy8gSWYgaW4gc21hbGwgdmVyc2lvbiBzaG93IG9ubHkgbmV4dCBwYWdlIHNvIHNldCBmaXJzdCBwYWdlIHRvIGFuY2hvclxuICAgIGlmICh0aGlzLnNtYWxsVmVyc2lvbiAmJiBhbmNob3IgPiAxKSB7XG4gICAgICBpZiAoYW5jaG9yICE9PSB0aGlzLnRvdGFsUGFnZXMpIHtcbiAgICAgICAgZmlyc3ROdW1iZXIgPSBhbmNob3I7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuc2hvd0ZpcnN0RWxsaXBzaXMpIHtcbiAgICAgIGZpcnN0TnVtYmVyID0gMTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5zaG93TGFzdFBhZ2UpIHtcbiAgICAgIGZpcnN0TnVtYmVyID0gdGhpcy50b3RhbFBhZ2VzIC0gKHRoaXMuX3BhZ2VzSW5WaWV3IC0gMSk7XG4gICAgfVxuICAgIHJldHVybiBmaXJzdE51bWJlcjtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkU2hvd0xvYWRlcihwYWdlTnVtYmVyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlcnZlclNpZGVQYWdpbmF0aW9uICYmIGlzTmlsKHRoaXMuZ3JpZEFwaS5nZXRDYWNoZUJsb2NrU3RhdGUoKVtwYWdlTnVtYmVyXSk7XG4gIH1cbn1cbiJdfQ==
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFTN0I7SUF1REUsdUNBQ1UsR0FBc0IsRUFDdEIsU0FBK0IsRUFDL0IsU0FBb0IsRUFDcEIsV0FBd0IsRUFDeEIsVUFBdUMsRUFDdkMsV0FBd0I7UUFMeEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUE2QjtRQUN2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQTVDbEMsMkZBQTJGO1FBQzNGLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLDZGQUE2RjtRQUM3RixpQkFBWSxHQUFtQixJQUFJLENBQUM7UUFLcEMscUNBQXFDO1FBQ3JDLHVCQUFrQixHQUFHO1lBQ25CLFdBQVcsRUFBRSxDQUFDO1lBQ2QsS0FBSyxFQUFFLEVBQUU7WUFDVCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUM7UUFFRixnRUFBZ0U7UUFDaEUsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBVW5CLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUV2Qyw2RkFBNkY7UUFDNUUsd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO1FBQ2hDLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzVDLDZGQUE2RjtRQUM1RSxvQkFBZSxHQUFXLEdBQUcsQ0FBQztRQUM5Qix1QkFBa0IsR0FBVyxHQUFHLENBQUM7SUFTL0MsQ0FBQztJQXZESixzQkFBSSxrREFBTztRQU5YOzs7O1dBSUc7YUFFSCxVQUFZLE9BQW1CO1lBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7WUFDakMsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2FBQ2hDO1FBQ0gsQ0FBQzs7O09BQUE7SUFvREQsc0JBQUksMkRBQWdCO2FBQXBCO1lBQ0UsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDJEQUFnQjthQUFwQjtZQUNFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2pFLENBQUM7OztPQUFBO0lBRUQsZ0RBQVEsR0FBUjtRQUFBLGlCQW9DQztRQW5DQyxJQUFJLENBQUMsU0FBUzthQUNYLFdBQVcsQ0FBQztZQUNYLE9BQUEsS0FBSyxDQUNILEtBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDcEMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUNyQyxLQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDM0M7UUFKRCxDQUlDLENBQ0Y7YUFDQSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFCLFNBQVMsQ0FBQztZQUNULEtBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsS0FBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVO2FBQ3RCLElBQUksQ0FDSCxHQUFHLENBQUM7WUFDRixJQUFNLGVBQWUsR0FBRyxLQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUV4RSxLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN2QyxLQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztZQUM3RSxLQUFJLENBQUMsa0JBQWtCLEdBQUcsZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQztZQUNSLEtBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztZQUMxRCxPQUFPLEtBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7UUFDekcsQ0FBQyxDQUFDLEVBQ0YsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixPQUFPLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxjQUFjLEVBQUUsRUFBckIsQ0FBcUIsQ0FBQyxFQUNwQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLFVBQUMsRUFBZ0Q7Z0JBQTlDLHNCQUFrQixFQUFsQix1Q0FBa0I7WUFDOUIsK0VBQStFO1lBQy9FLEtBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMERBQWtCLEdBQWxCLFVBQW1CLFNBQWlCO1FBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELHNEQUFjLEdBQWQsVUFBZSxVQUFjO1FBQWQsMkJBQUEsRUFBQSxjQUFjO1FBQ3JCLElBQUEsb0NBQXdELEVBQXRELHdCQUFTLEVBQUUsb0JBQTJDLENBQUM7UUFDL0QsSUFBSSxPQUFPLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUFFLE9BQU87UUFDeEMsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQywrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3ZDLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFPRCxzQkFBSSxzREFBVztRQUxmOzs7O1dBSUc7YUFDSCxVQUFnQixnQkFBd0I7WUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQztZQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDN0QsMENBQTBDO1lBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLENBQUM7OztPQUFBO0lBRUQsaURBQWlEO0lBQ2pELCtEQUF1QixHQUF2QjtRQUNFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNwRixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQzFELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtnQkFDMUMsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2lCQUM3QzthQUNGO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO29CQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztvQkFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO2lCQUN4QzthQUNGO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsb0RBQVksR0FBWixVQUFhLFVBQWtCO1FBQzdCLElBQUksVUFBVSxJQUFJLENBQUMsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMscURBQXFEO1lBQ3JELElBQU0sYUFBYSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7WUFFcEQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNwRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDOUQ7WUFFRCxnQ0FBZ0M7WUFDaEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQseURBQWlCLEdBQWpCO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsd0RBQWdCLEdBQWhCO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELHdEQUFnQixHQUFoQjtRQUNFLGlGQUFpRjtRQUNqRixJQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxxREFBYSxHQUFiO1FBQ0UsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDeEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNILHlEQUFpQixHQUFqQjtRQUNFLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxtREFBVyxHQUFYLFVBQVksS0FBYSxFQUFFLElBQVk7UUFDckMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQseURBQWlCLEdBQWpCO1FBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbURBQVcsR0FBWCxVQUFZLElBQTZCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxtREFBVyxHQUFYLGNBQXFCLENBQUM7SUFFdEI7Ozs7T0FJRztJQUNLLDJEQUFtQixHQUEzQixVQUE0QixhQUFhO1FBQ3ZDLGlFQUFpRTtRQUNqRSxJQUFNLFVBQVUsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLElBQU0sYUFBYSxHQUFHLENBQUMsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN4RCxJQUFNLE9BQU8sR0FBRyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkUsSUFBSSxDQUFDLFNBQVM7WUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFO29CQUMxQyxLQUFLLEVBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFHO29CQUNuRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztpQkFDbEQsQ0FBQztnQkFDSixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxnREFBUSxHQUFoQixVQUFpQixNQUFjO1FBQzdCLElBQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMxQix5RkFBeUY7UUFDekYsa0ZBQWtGO1FBQ2xGLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpHLHVDQUF1QztRQUN2QyxJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO1FBQ0Qsb0ZBQW9GO1FBQ3BGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLGNBQWMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDaEYsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDOUM7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSywwREFBa0IsR0FBMUIsVUFBMkIsTUFBYztRQUN2QyxJQUFJLFdBQVcsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM3QyxzRUFBc0U7UUFDdEUsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDOUIsV0FBVyxHQUFHLE1BQU0sQ0FBQzthQUN0QjtTQUNGO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRTtZQUNyRCxXQUFXLEdBQUcsQ0FBQyxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUU7WUFDaEQsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVPLHdEQUFnQixHQUF4QixVQUF5QixVQUFrQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs7Z0JBOVBjLGlCQUFpQjtnQkFDWCxvQkFBb0I7Z0JBQ3BCLFNBQVM7Z0JBQ1AsV0FBVztnQkFDWiwyQkFBMkI7Z0JBQzFCLFdBQVc7O0lBdERsQztRQURDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7a0NBQ3JCLFVBQVU7eUNBQVYsVUFBVTtnRUFLOUI7SUFaVSw2QkFBNkI7UUFQekMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQywyNUlBQStDO1lBRS9DLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQzs7U0FDekIsQ0FBQzt5Q0F5RGUsaUJBQWlCO1lBQ1gsb0JBQW9CO1lBQ3BCLFNBQVM7WUFDUCxXQUFXO1lBQ1osMkJBQTJCO1lBQzFCLFdBQVc7T0E3RHZCLDZCQUE2QixDQXVUekM7SUFBRCxvQ0FBQztDQUFBLEFBdlRELElBdVRDO1NBdlRZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZEFwaSB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnbmd4LXRha2UtdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBEYXRvVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHcmlkUXVlcnkgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQucXVlcnknO1xuaW1wb3J0IHsgRGF0b0dyaWRDb250cm9sbGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzJztcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vZ3JpZC1zdG9yZS9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0b0dyaWREYXRhQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi4vZ3JpZC9ncmlkLXYyLnR5cGVzJztcbmltcG9ydCB7IHRhcE9uY2UgfSBmcm9tICcuLi8uLi9yeC90YXAnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkLXBhZ2luYXRpb24tdjInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtEZWNpbWFsUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRQYWdpbmF0aW9uVjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogVGhpcyBzZXR0ZXIgaXMgdXNlZCB0byBhc3NpZ24gdGhlIG5hdmlnYXRpb24gZWxlbWVudCByZWYgYW5kIHRvIHNldFxuICAgKiB0aGUgcGFnaW5hdGlvbiBzaXplIHdoZW4gdGhlIGNvbXBvbmVudCBzdGFydHNcbiAgICogQHBhcmFtIHtFbGVtZW50UmVmfSBjb250ZW50XG4gICAqL1xuICBAVmlld0NoaWxkKCduYXZpZ2F0aW9uJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgc2V0IGNvbnRlbnQoY29udGVudDogRWxlbWVudFJlZikge1xuICAgIHRoaXMubmF2aWdhdGlvbkVsZW1lbnQgPSBjb250ZW50O1xuICAgIGlmIChjb250ZW50ICYmIHRoaXMuc21hbGxWZXJzaW9uID09PSBudWxsKSB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZU5hdmlnYXRpb25TaXplKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gbnVtYmVyIG9mIHJvd3MgaW4gdGhlIHRhYmxlXG4gIHJvd0NvdW50OiBudW1iZXI7XG4gIHJvd3NQZXJQYWdlOiBudW1iZXI7XG4gIC8vIHdoZW4gdGhlIHdpZGdldCdzIHdpZHRoIGlzIHNtYWxsZXIgdGhhbiBYU19ESVNQTEFZX1NJWkUgZGlzYWJsZSBnbyB0byBmaXJzdC9sYXN0IGJ1dHRvbnNcbiAgZGlzYWJsZUJ1dHRvbnM6IGJvb2xlYW4gPSBudWxsO1xuICAvLyB3aGVuIHRoZSB3aWRnZXQncyB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gU01BTExfRElTUExBWV9TSVpFIGNoYW5nZSB0byBzbWFsbCBwYWdpbmF0aW9uIHZpZXdcbiAgc21hbGxWZXJzaW9uOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gIC8vIG51bWJlciBvZiBwYWdlcyBpbiB0aGUgdGFibGVcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICAvLyBUaGUgZGlzcGxheSByb3dzIHJhbmdlXG4gIHJvd3NSYW5nZTogc3RyaW5nO1xuICAvLyBtYW5hZ2luZyBvYmplY3QgZm9yIHRoZSBuYXZpZ2F0aW9uXG4gIHBhZ2VOdW1iZXJzRGlzcGxheSA9IHtcbiAgICBjdXJyZW50UGFnZTogMSxcbiAgICBwYWdlczogW10sXG4gICAgc2hvd0ZpcnN0RWxsaXBzaXM6IGZhbHNlLFxuICAgIHNob3dMYXN0UGFnZTogZmFsc2VcbiAgfTtcblxuICAvLyBTaG93IGZpdCBjZWxsIGNvbnRlbnQgYW5kIGNvbGxhcHNlL2V4cGFuZCByb3cgZ3JvdXBzIGNvbnRyb2xzXG4gIHNob3dCb3R0b21Db250cm9scyA9IGZhbHNlO1xuICBpc0V4cGFuZGVkID0gdHJ1ZTtcbiAgaGFzUm93R3JvdXBDb2x1bW5zID0gZmFsc2U7XG5cbiAgLy8gaG93IG1hbnkgbnVtYmVycyBhcmUgc2hvd2luZyBvbiB0aGUgc2FtZSB0aW1lIGJlc2lkZXMgdGhlIGxhc3QgcGFnZSBudW1iZXJcbiAgcHJpdmF0ZSBfcGFnZXNJblZpZXc6IG51bWJlcjtcbiAgLy8gVGhlIG51bWJlciBvZiBwYWdlcyBkaXNwbGF5ZWQgb24gZWFjaCBzaWRlIG9mIHRoZSBzZWxlY3RlZCBwYWdlLlxuICBwcml2YXRlIHBhZ2VzT25TaWRlczogbnVtYmVyO1xuICAvLyBpZiB0aGUgbnVtYmVyIG9mIHBhZ2VzIGluIHRoZSB0YWJsZSBmaXRzIHRoZSBudW1iZXIgb2YgZGlzcGxheWluZyBwYWdlc1xuICBwcml2YXRlIHBhZ2VzRml0VmlldzogYm9vbGVhbjtcbiAgLy8gaG93IG1hbnkgbnVtYmVycyB0byBzaG93IG9uIGVhY2ggc2lkZSBiZXNpZGVzIHRoZSBzZWxlY3RlZCBudW1iZXJcbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uRWxlbWVudDogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBpc1NlcnZlclNpZGVQYWdpbmF0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgZ3JpZEFwaTogR3JpZEFwaTtcbiAgLy8gVGhlIG51bWJlciBvZiBwYWdlcyBkaXNwbGF5ZWQgaW4gdGhlIG5hdmlnYXRpb24gcGFuZWwgZm9yIGVhY2ggdmlldyBhcyBkZWZpbmVkIGJ5IHByb2R1Y3QuXG4gIHByaXZhdGUgcmVhZG9ubHkgTUlOSV9ESVNQTEFZX0xFTkdUSDogbnVtYmVyID0gMjtcbiAgcHJpdmF0ZSByZWFkb25seSBESVNQTEFZX0xFTkdUSDogbnVtYmVyID0gNTtcbiAgLy8gV2lkZ2V0J3Mgd2lkdGggdGhlIGRldGVybWluZXMgdGhlIHBhZ2luYXRpb24gdmlldyB0eXBlIFsgc21hbGwsIHhzXSBhcyBkZWZpbmVkIGJ5IHByb2R1Y3QuXG4gIHByaXZhdGUgcmVhZG9ubHkgWFNfRElTUExBWV9TSVpFOiBudW1iZXIgPSAxNjA7XG4gIHByaXZhdGUgcmVhZG9ubHkgU01BTExfRElTUExBWV9TSVpFOiBudW1iZXIgPSAzOTA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBEYXRvVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGdyaWRRdWVyeTogR3JpZFF1ZXJ5LFxuICAgIHByaXZhdGUgZ3JpZFNlcnZpY2U6IEdyaWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udHJvbGxlcjogRGF0b0dyaWRDb250cm9sbGVyQ29tcG9uZW50LFxuICAgIHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlXG4gICkge31cblxuICBnZXQgcHJldlBhZ2VEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UgPT09IDE7XG4gIH1cblxuICBnZXQgbmV4dFBhZ2VEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UgPT09IHRoaXMudG90YWxQYWdlcztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ3JpZFF1ZXJ5XG4gICAgICAud2FpdEZvckdyaWQoKCkgPT5cbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgdGhpcy5ncmlkUXVlcnkuZ3JpZFJlZi5maWx0ZXJDaGFuZ2VkLFxuICAgICAgICAgIHRoaXMuZ3JpZFF1ZXJ5LmdyaWRSZWYucm93R3JvdXBPcGVuZWQsXG4gICAgICAgICAgdGhpcy5ncmlkUXVlcnkuZ3JpZFJlZi5leHBhbmRPckNvbGxhcHNlQWxsXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR29Ub1BhZ2UoMCk7XG4gICAgICAgIHRoaXMuaW5pdFBhZ2luYXRpb24oKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ncmlkUXVlcnkuZ3JpZFJlYWR5JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgcm93R3JvdXBDb2x1bW5zID0gdGhpcy5ncmlkUXVlcnkuYXBpLmNvbHVtbnMuZ2V0Um93R3JvdXBDb2x1bW5zKCk7XG5cbiAgICAgICAgICB0aGlzLmdyaWRBcGkgPSB0aGlzLmdyaWRRdWVyeS5hcGkuZ3JpZDtcbiAgICAgICAgICB0aGlzLnNob3dCb3R0b21Db250cm9scyA9IHRoaXMuZ3JpZFF1ZXJ5LmdldEdyaWRPcHRpb25zKCkuc2hvd0JvdHRvbUNvbnRyb2xzO1xuICAgICAgICAgIHRoaXMuaGFzUm93R3JvdXBDb2x1bW5zID0gcm93R3JvdXBDb2x1bW5zICYmIHJvd0dyb3VwQ29sdW1ucy5sZW5ndGggPiAwO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzU2VydmVyU2lkZVBhZ2luYXRpb24gPSB0aGlzLmdyaWRRdWVyeS5pc1NlcnZlclNpZGU7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNTZXJ2ZXJTaWRlUGFnaW5hdGlvbiA/IHRoaXMuZ3JpZFF1ZXJ5LnNlcnZlckRhdGFMb2FkZWQkIDogdGhpcy5ncmlkUXVlcnkucm93RGF0YUNoYW5nZWQkO1xuICAgICAgICB9KSxcbiAgICAgICAgdGhyb3R0bGVUaW1lKDEwMCksXG4gICAgICAgIHRhcE9uY2UoKCkgPT4gdGhpcy5pbml0UGFnaW5hdGlvbigpKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgcGFnaW5hdGlvblBhZ2UgPSAxIH06IERhdG9HcmlkRGF0YUNoYW5nZWRFdmVudCkgPT4ge1xuICAgICAgICAvKiogIEFnIGdyaWQgaW5kZXggaXMgZnJvbSAwLCBidXQgdGhlIGluZGV4IGZpcmVkIGZyb20gdGhlIGV2ZW50IHN0YXJ0IGZyb20gMSovXG4gICAgICAgIHRoaXMuaW5pdFBhZ2luYXRpb24ocGFnaW5hdGlvblBhZ2UgLSAxKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY2FsY3VsYXRlIHRoZSByb3cgY291bnQgYW5kIHBhZ2UgbGVuZ3Roc1xuICAgKi9cbiAgY2FsY3VsYXRlUm93c0NvdW50KHRvdGFsUm93czogbnVtYmVyKSB7XG4gICAgdGhpcy50b3RhbFBhZ2VzID0gdG90YWxSb3dzID8gTWF0aC5jZWlsKHRvdGFsUm93cyAvIHRoaXMucm93c1BlclBhZ2UpIDogdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25HZXRUb3RhbFBhZ2VzKCk7XG4gICAgdGhpcy5yb3dDb3VudCA9IHRoaXMuZ3JpZEFwaS5nZXREaXNwbGF5ZWRSb3dDb3VudCgpO1xuICAgIHRoaXMuc2V0Um93c0Rpc3BsYXlSYW5nZSh0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5jdXJyZW50UGFnZSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgaW5pdFBhZ2luYXRpb24ocGFnZU51bWJlciA9IDApIHtcbiAgICBjb25zdCB7IHRvdGFsUm93cywgZW5hYmxlZCB9ID0gdGhpcy5ncmlkUXVlcnkuc2VydmVyU2lkZUNvbmZpZztcbiAgICBpZiAoZW5hYmxlZCAmJiBpc05pbCh0b3RhbFJvd3MpKSByZXR1cm47XG4gICAgLyoqIHJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgcGFnZXMgc3RhcnRpbmcgZnJvbSAxICovXG4gICAgdGhpcy5yb3dzUGVyUGFnZSA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0UGFnZVNpemUoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZVJvd3NDb3VudCh0b3RhbFJvd3MpO1xuICAgIC8qKiBzZXQgdGhlIGluaXQgdmFsdWUgb2YgdGhlIHBhZ2luYXRpb24gdmlldyB0byBub3JtYWwgc2l6ZSAqL1xuICAgIHRoaXMucGFnZXNJblZpZXcgPSB0aGlzLkRJU1BMQVlfTEVOR1RIO1xuICAgIC8qKiBjdXJyZW50IHBhZ2UgaW5kZXggc3RhcnRzIGZyb20gMCAqL1xuICAgIHRoaXMubmF2aWdhdGVQYWdlKHBhZ2VOdW1iZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgbnVtYmVyIG9mIHBhZ2UgbnVtYmVycyBzaG93aW5nIGF0IHRoZSBzYW1lIHRpbWUgaW4gdGhlIG5hdmlnYXRpb25cbiAgICogcGFuZWwgJiB1cGRhdGUgdGhlIG51bWJlciBvZiBwYWdlcyBkaXNwbGF5ZWQgb24gZWFjaCBzaWRlIG9mIHRoZSBzZWxlY3RlZCBwYWdlLlxuICAgKiBAcGFyYW0ge251bWJlcn0gbmV3TnVtYmVyc0xlbmd0aCAtIFRoZSBuZXcgbGVuZ3RoIG9mIHRoZSBkaXNwbGF5aW5nIG51bWJlcnNcbiAgICovXG4gIHNldCBwYWdlc0luVmlldyhuZXdOdW1iZXJzTGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9wYWdlc0luVmlldyA9IG5ld051bWJlcnNMZW5ndGg7XG4gICAgdGhpcy5wYWdlc09uU2lkZXMgPSBNYXRoLmZsb29yKHRoaXMuX3BhZ2VzSW5WaWV3IC8gMik7XG4gICAgdGhpcy5wYWdlc0ZpdFZpZXcgPSB0aGlzLl9wYWdlc0luVmlldyArIDEgPj0gdGhpcy50b3RhbFBhZ2VzO1xuICAgIC8vIGludmFsaWRhdGUgZGlzcGxheWluZyBwYWdlcyB1cG9uIHJlc2l6ZVxuICAgIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnBhZ2VzID0gW107XG4gIH1cblxuICAvKiogVE9ETyBUaGlzIGlzIG5vdCBsaXN0ZW5pbmcgdG8gc2l6ZSBjaGFuZ2VzICovXG4gIGNhbGN1bGF0ZU5hdmlnYXRpb25TaXplKCkge1xuICAgIGlmICh0aGlzLm5hdmlnYXRpb25FbGVtZW50KSB7XG4gICAgICBjb25zdCBlbGVtZW50V2lkdGggPSB0aGlzLm5hdmlnYXRpb25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIHRoaXMuZGlzYWJsZUJ1dHRvbnMgPSBlbGVtZW50V2lkdGggPCB0aGlzLlhTX0RJU1BMQVlfU0laRTtcbiAgICAgIGlmIChlbGVtZW50V2lkdGggPCB0aGlzLlNNQUxMX0RJU1BMQVlfU0laRSkge1xuICAgICAgICBpZiAodGhpcy5fcGFnZXNJblZpZXcgIT09IHRoaXMuTUlOSV9ESVNQTEFZX0xFTkdUSCkge1xuICAgICAgICAgIHRoaXMuc21hbGxWZXJzaW9uID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnBhZ2VzSW5WaWV3ID0gdGhpcy5NSU5JX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5fcGFnZXNJblZpZXcgIT09IHRoaXMuRElTUExBWV9MRU5HVEgpIHtcbiAgICAgICAgICB0aGlzLnNtYWxsVmVyc2lvbiA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucGFnZXNJblZpZXcgPSB0aGlzLkRJU1BMQVlfTEVOR1RIO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byBhIGdpdmVuIHBhZ2UuXG4gICAqIHVwZGF0ZXMgdGhlIGRpc3BsYXlpbmcgcGFnZSBudW1iZXJzIGFuZCB0aGUgY3VycmVudCBudW1iZXIuXG4gICAqIEBwYXJhbSBwYWdlTnVtYmVyIC0gVGhlIHBhZ2UgbnVtYmVyIHRvIG5hdmlnYXRlIHRvXG4gICAqL1xuICBuYXZpZ2F0ZVBhZ2UocGFnZU51bWJlcjogbnVtYmVyKSB7XG4gICAgaWYgKHBhZ2VOdW1iZXIgPj0gMCAmJiBwYWdlTnVtYmVyIDw9IHRoaXMudG90YWxQYWdlcyAtIDEpIHtcbiAgICAgIHRoaXMuc2hvdWxkU2hvd0xvYWRlcihwYWdlTnVtYmVyKSAmJiB0aGlzLmdyaWRTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdvVG9QYWdlKHBhZ2VOdW1iZXIpO1xuICAgICAgLy8gQWRkIDEgYmVjYXVzZSBhZy1ncmlkIEFQSSB3b3JrcyB3aXRoIGZpcnN0IGluZGV4IDBcbiAgICAgIGNvbnN0IGRpc3BsYXlOdW1iZXIgPSBwYWdlTnVtYmVyICsgMTtcbiAgICAgIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LmN1cnJlbnRQYWdlID0gZGlzcGxheU51bWJlcjtcblxuICAgICAgaWYgKHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnBhZ2VzLmxlbmd0aCA9PT0gMCB8fCAhdGhpcy5wYWdlc0ZpdFZpZXcpIHtcbiAgICAgICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXMgPSB0aGlzLmdldFBhZ2VzKGRpc3BsYXlOdW1iZXIpO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXQgdGhlIGRpc3BsYXlpbmcgcm93cyByYW5nZVxuICAgICAgdGhpcy5zZXRSb3dzRGlzcGxheVJhbmdlKGRpc3BsYXlOdW1iZXIpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlRmlyc3RQYWdlKCkge1xuICAgIHRoaXMubmF2aWdhdGVQYWdlKDApO1xuICB9XG5cbiAgbmF2aWdhdGVOZXh0UGFnZSgpIHtcbiAgICB0aGlzLm5hdmlnYXRlUGFnZSh0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5jdXJyZW50UGFnZSk7XG4gIH1cblxuICBuYXZpZ2F0ZVByZXZQYWdlKCkge1xuICAgIC8qKiBhZy1ncmlkIEFQSSB3b3JrcyB3aXRoIGZpcnN0IGluZGV4IDAgc28gd2UgbmVlZCB0byByZWR1Y2UgMiBpbnN0ZWFkIG9mIG9uZSAqL1xuICAgIGNvbnN0IHByZXZpb3VzUGFnZUluZGV4ID0gdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UgLSAyO1xuICAgIHRoaXMubmF2aWdhdGVQYWdlKHByZXZpb3VzUGFnZUluZGV4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGVzIHRoZSBkaXNwbGF5aW5nIHBhZ2UgbnVtYmVycyB0byBzaG93IHRoZSBuZXh0IG51bWJlcnMgc2V0XG4gICAqL1xuICBzaG93TmV4dEJhdGNoKCkge1xuICAgIGNvbnN0IGFuY2hvciA9IHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnBhZ2VzWzBdICsgdGhpcy5fcGFnZXNJblZpZXcgKyB0aGlzLnBhZ2VzT25TaWRlcztcbiAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5wYWdlcyA9IHRoaXMuZ2V0UGFnZXMoYW5jaG9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGVzIHRoZSBkaXNwbGF5aW5nIHBhZ2UgbnVtYmVycyB0byBzaG93IHRoZSBwcmV2aW91cyBudW1iZXJzIHNldFxuICAgKi9cbiAgc2hvd1ByZXZpb3VzQmF0Y2goKSB7XG4gICAgY29uc3QgYW5jaG9yID0gdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXNbMF0gLSB0aGlzLl9wYWdlc0luVmlldyArIHRoaXMucGFnZXNPblNpZGVzO1xuICAgIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnBhZ2VzID0gdGhpcy5nZXRQYWdlcyhhbmNob3IpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0cmFja0J5IGZ1bmN0aW9uIGZvciB0aGUgbmdGb3JcbiAgICogQHBhcmFtIGluZGV4IC0gY3VycmVudCBpdGVtIGluZGV4XG4gICAqIEBwYXJhbSBwYWdlIC0gdGhlIGN1cnJlbnQgaXRlbSdzIHBhZ2UgbnVtYmVyXG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIHRyYWNrQnlQYWdlKGluZGV4OiBudW1iZXIsIHBhZ2U6IG51bWJlcikge1xuICAgIHJldHVybiBwYWdlO1xuICB9XG5cbiAgdG9nZ2xlR3JvdXBzU3RhdGUoKSB7XG4gICAgdGhpcy5pc0V4cGFuZGVkID8gdGhpcy5ncmlkQXBpLmNvbGxhcHNlQWxsKCkgOiB0aGlzLmdyaWRBcGkuZXhwYW5kQWxsKCk7XG4gICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcbiAgfVxuXG4gIGF1dG9GaXRHcmlkKHR5cGU6ICdjb250YWluZXInIHwgJ2NvbnRlbnQnKSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5maXRHcmlkKHR5cGUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSByb3dzIGRpc3BsYXkgc3RyaW5nXG4gICAqIEBwYXJhbSBkaXNwbGF5TnVtYmVyIC0gVGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgKHN0YXJ0aW5nIGluZGV4IDEpXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHNldFJvd3NEaXNwbGF5UmFuZ2UoZGlzcGxheU51bWJlcik6IHZvaWQge1xuICAgIC8qKiBEZWNyZWFzZSBieSAxIGJlY2F1c2UgYWctZ3JpZCBBUEkgd29ya3Mgd2l0aCBmaXJzdCBpbmRleCAwICovXG4gICAgY29uc3QgcGFnZU51bWJlciA9IGRpc3BsYXlOdW1iZXIgLSAxO1xuICAgIGNvbnN0IGZpcnN0Um93SW5kZXggPSAxICsgcGFnZU51bWJlciAqIHRoaXMucm93c1BlclBhZ2U7XG4gICAgY29uc3QgbGFzdFJvdyA9IChwYWdlTnVtYmVyICsgMSkgKiB0aGlzLnJvd3NQZXJQYWdlO1xuICAgIGNvbnN0IGxhc3RSb3dJbmRleCA9IHRoaXMucm93Q291bnQgPiBsYXN0Um93ID8gbGFzdFJvdyA6IHRoaXMucm93Q291bnQ7XG4gICAgdGhpcy5yb3dzUmFuZ2UgPVxuICAgICAgdGhpcy5yb3dDb3VudCA+IDBcbiAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0oJ2NvcmUuaXRlbXNSYW5nZScsIHtcbiAgICAgICAgICAgIHJhbmdlOiBgJHt0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybShmaXJzdFJvd0luZGV4KX0gLSAke3RoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKGxhc3RSb3dJbmRleCl9YCxcbiAgICAgICAgICAgIG51bWJlcjogdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odGhpcy5yb3dDb3VudClcbiAgICAgICAgICB9KVxuICAgICAgICA6IHRoaXMudHJhbnNsYXRlLnRyYW5zZm9ybSgnY29yZS5udW1iZXJPZkl0ZW1zJywgeyBudW1iZXI6IDAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIG51bWJlciBhbmQgcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgZGlzcGxheWluZyBudW1iZXJzLlxuICAgKiBAcGFyYW0gYW5jaG9yIC0gVGhlIG51bWJlciB0byB1c2UgYXMgYW4gYW5jaG9yIGZvciB0aGUgY2FsY3VsYXRpb25zLlxuICAgKiBAcmV0dXJuIHtudW1iZXJbXX0gLSBBbiBhcnJheSBvZiB0aGUgbmV3IG51bWJlcnMgdG8gZGlzcGxheVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRQYWdlcyhhbmNob3I6IG51bWJlcik6IG51bWJlcltdIHtcbiAgICBjb25zdCBwYWdlc1RvRGlzcGxheSA9IFtdO1xuICAgIC8vIGluZGljYXRlcyByYXRoZXIgdGhlIHRhYmxlIGhhcyBtb3JlIHBhZ2VzIHRoYW4gdGhlIGRpc3BsYXkgbGVuZ3RoLCB3ZSBhZGQgMSBiZWNhdXNlIG9mXG4gICAgLy8gYSBsb2dpYyB0aGF0IHNheXMgdGhhdCBpZiB5b3VyIGN1cnJlbnQgdmlldyBpcyAxIG51bWJlciBhd2F5IGZyb20gdGhlIGxhc3QgcGFnZVxuICAgIC8vIGRpc3BsYXkgaGltIGFzIHdlbGwuXG4gICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuc2hvd0xhc3RQYWdlID0gIXRoaXMucGFnZXNGaXRWaWV3ICYmIGFuY2hvciArIHRoaXMucGFnZXNPblNpZGVzIDwgdGhpcy50b3RhbFBhZ2VzO1xuICAgIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnNob3dGaXJzdEVsbGlwc2lzID0gIXRoaXMucGFnZXNGaXRWaWV3ICYmIGFuY2hvciAtIHRoaXMucGFnZXNPblNpZGVzID4gMTtcblxuICAgIC8vIHNldCB0aGUgZmlyc3QgbnVtYmVyIHRvIGJlIGRpc3BsYXllZFxuICAgIGNvbnN0IGZpcnN0TnVtYmVyID0gdGhpcy5nZXRGaXJzdFBhZ2VOdW1iZXIoYW5jaG9yKTtcbiAgICBjb25zdCBsb29wTGVuZ3RoID0gdGhpcy5wYWdlc0ZpdFZpZXcgPyB0aGlzLnRvdGFsUGFnZXMgOiB0aGlzLl9wYWdlc0luVmlldztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxvb3BMZW5ndGg7IGkrKykge1xuICAgICAgcGFnZXNUb0Rpc3BsYXkucHVzaChmaXJzdE51bWJlciArIGkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgbGFzdCBkaXNwbGF5ZWQgbnVtYmVyIGlzIDEgbnVtYmVyIGJlZm9yZSB0aGUgbGFzdCBwYWdlIGRpc3BsYXkgaGltIGFzIHdlbGxcbiAgICBpZiAoIXRoaXMuc21hbGxWZXJzaW9uICYmIHBhZ2VzVG9EaXNwbGF5W2xvb3BMZW5ndGggLSAxXSArIDEgPT09IHRoaXMudG90YWxQYWdlcykge1xuICAgICAgcGFnZXNUb0Rpc3BsYXkucHVzaCh0aGlzLnRvdGFsUGFnZXMpO1xuICAgICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuc2hvd0xhc3RQYWdlID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBwYWdlc1RvRGlzcGxheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaXJzdCBudW1iZXIgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBwYWdpbmF0aW9uIG5hdmlnYXRpb24gdmlld1xuICAgKiBAcGFyYW0ge251bWJlcn0gYW5jaG9yIC0gVGhlIGFuY2hvciBmb3IgdGhlIGNhbGN1bGF0aW9uc1xuICAgKiBAcmV0dXJuIHtudW1iZXJ9IC0gVGhlIGZpcnN0IG51bWJlciB0byBiZSBkaXNwbGF5ZWRcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZ2V0Rmlyc3RQYWdlTnVtYmVyKGFuY2hvcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBsZXQgZmlyc3ROdW1iZXIgPSBhbmNob3IgLSB0aGlzLnBhZ2VzT25TaWRlcztcbiAgICAvLyBJZiBpbiBzbWFsbCB2ZXJzaW9uIHNob3cgb25seSBuZXh0IHBhZ2Ugc28gc2V0IGZpcnN0IHBhZ2UgdG8gYW5jaG9yXG4gICAgaWYgKHRoaXMuc21hbGxWZXJzaW9uICYmIGFuY2hvciA+IDEpIHtcbiAgICAgIGlmIChhbmNob3IgIT09IHRoaXMudG90YWxQYWdlcykge1xuICAgICAgICBmaXJzdE51bWJlciA9IGFuY2hvcjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCF0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5zaG93Rmlyc3RFbGxpcHNpcykge1xuICAgICAgZmlyc3ROdW1iZXIgPSAxO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnNob3dMYXN0UGFnZSkge1xuICAgICAgZmlyc3ROdW1iZXIgPSB0aGlzLnRvdGFsUGFnZXMgLSAodGhpcy5fcGFnZXNJblZpZXcgLSAxKTtcbiAgICB9XG4gICAgcmV0dXJuIGZpcnN0TnVtYmVyO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG91bGRTaG93TG9hZGVyKHBhZ2VOdW1iZXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzU2VydmVyU2lkZVBhZ2luYXRpb24gJiYgaXNOaWwodGhpcy5ncmlkQXBpLmdldENhY2hlQmxvY2tTdGF0ZSgpW3BhZ2VOdW1iZXJdKTtcbiAgfVxufVxuIl19
|