igniteui-angular 12.2.4 → 12.3.0-alpha.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/README.md +12 -11
- package/bundles/igniteui-angular.umd.js +1773 -1462
- package/bundles/igniteui-angular.umd.js.map +1 -1
- package/esm2015/igniteui-angular.js +97 -97
- package/esm2015/lib/combo/combo-dropdown.component.js +9 -4
- package/esm2015/lib/combo/combo-item.component.js +4 -3
- package/esm2015/lib/combo/combo.api.js +3 -3
- package/esm2015/lib/combo/combo.common.js +999 -2
- package/esm2015/lib/combo/combo.component.js +92 -1124
- package/esm2015/lib/combo/combo.pipes.js +3 -3
- package/esm2015/lib/data-operations/data-util.js +2 -3
- package/esm2015/lib/data-operations/grouping-strategy.js +1 -1
- package/esm2015/lib/grids/grid/grid.component.js +19 -2
- package/esm2015/lib/grids/grid/grid.pipes.js +3 -3
- package/esm2015/lib/services/exporter-common/base-export-service.js +2 -2
- package/esm2015/lib/simple-combo/public_api.js +2 -0
- package/esm2015/lib/simple-combo/simple-combo.component.js +298 -0
- package/esm2015/lib/toast/toast.component.js +46 -21
- package/esm2015/public_api.js +2 -1
- package/fesm2015/igniteui-angular.js +1305 -1025
- package/fesm2015/igniteui-angular.js.map +1 -1
- package/igniteui-angular.d.ts +96 -96
- package/igniteui-angular.metadata.json +1 -1
- package/lib/combo/combo-dropdown.component.d.ts +2 -0
- package/lib/combo/combo-item.component.d.ts +2 -0
- package/lib/combo/combo.common.d.ts +717 -4
- package/lib/combo/combo.component.d.ts +39 -782
- package/lib/combo/combo.pipes.d.ts +1 -1
- package/lib/data-operations/data-util.d.ts +2 -1
- package/lib/data-operations/grouping-strategy.d.ts +5 -2
- package/lib/grids/grid/grid.component.d.ts +17 -0
- package/lib/grids/grid/grid.pipes.d.ts +2 -1
- package/lib/simple-combo/public_api.d.ts +1 -0
- package/lib/simple-combo/simple-combo.component.d.ts +109 -0
- package/lib/toast/toast.component.d.ts +8 -4
- package/migrations/migration-collection.json +5 -0
- package/migrations/update-12_3_0/changes/members.json +26 -0
- package/migrations/update-12_3_0/index.d.ts +3 -0
- package/migrations/update-12_3_0/index.js +9 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
|
@@ -8,7 +8,7 @@ import { DefaultSortingStrategy } from '../data-operations/sorting-strategy';
|
|
|
8
8
|
* @hidden
|
|
9
9
|
*/
|
|
10
10
|
export class IgxComboFilteringPipe {
|
|
11
|
-
transform(collection, searchValue, displayKey,
|
|
11
|
+
transform(collection, searchValue, displayKey, filteringOptions, shouldFilter = false) {
|
|
12
12
|
if (!collection) {
|
|
13
13
|
return [];
|
|
14
14
|
}
|
|
@@ -23,7 +23,7 @@ export class IgxComboFilteringPipe {
|
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
return collection.filter(e => filteringOptions.caseSensitive ? e.includes(searchTerm) :
|
|
26
|
-
e.toLowerCase().includes(searchTerm));
|
|
26
|
+
e.toString().toLowerCase().includes(searchTerm));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -80,4 +80,4 @@ IgxComboGroupingPipe.decorators = [
|
|
|
80
80
|
IgxComboGroupingPipe.ctorParameters = () => [
|
|
81
81
|
{ type: undefined, decorators: [{ type: Inject, args: [IGX_COMBO_COMPONENT,] }] }
|
|
82
82
|
];
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8ucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY29tYm8vY29tYm8ucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUk3RTs7R0FFRztBQUlILE1BQU0sT0FBTyxxQkFBcUI7SUFDdkIsU0FBUyxDQUFDLFVBQWlCLEVBQUUsV0FBZ0IsRUFBRSxVQUFlLEVBQ2pFLGdCQUF3QyxFQUFFLFlBQVksR0FBRyxLQUFLO1FBQzlELElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMvQixPQUFPLFVBQVUsQ0FBQztTQUNyQjthQUFNO1lBQ0gsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxRyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3BCLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUMvRixDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7YUFDcEU7aUJBQU07Z0JBQ0gsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0JBQ25GLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUN4RDtTQUNKO0lBQ0wsQ0FBQzs7O1lBckJKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsZ0JBQWdCO2FBQ3pCOztBQXNCRDs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFFN0IsWUFBZ0QsS0FBbUI7UUFBbkIsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUFJLENBQUM7SUFFakUsU0FBUyxDQUFDLFVBQWlCLEVBQUUsUUFBYSxFQUFFLFFBQWE7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ3JELE9BQU8sVUFBVSxDQUFDO1NBQ3JCO1FBQ0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDbEQsU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHO2dCQUN6QixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsUUFBUSxFQUFFLHNCQUFzQixDQUFDLFFBQVEsRUFBRTthQUM5QyxDQUFDLENBQUMsQ0FBQztRQUNKLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLGFBQWEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3ZDLGFBQWEsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLFVBQVUsR0FBRyxDQUFDLENBQUM7YUFDbEI7WUFDRCxJQUFJLFVBQVUsRUFBRTtnQkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxFQUFFO29CQUN4QixDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWE7b0JBQ3pCLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYTtvQkFDekIsUUFBUSxFQUFFLElBQUk7aUJBQ2pCLENBQUMsQ0FBQztnQkFDSCxPQUFPLEVBQUUsQ0FBQzthQUNiO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7WUFyQ0osSUFBSSxTQUFDO2dCQUNGLElBQUksRUFBRSxlQUFlO2FBQ3hCOzs7NENBR2dCLE1BQU0sU0FBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lQXJyYXkgfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IERhdGFVdGlsIH0gZnJvbSAnLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtdXRpbCc7XG5pbXBvcnQgeyBTb3J0aW5nRGlyZWN0aW9uIH0gZnJvbSAnLi4vZGF0YS1vcGVyYXRpb25zL3NvcnRpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUdYX0NPTUJPX0NPTVBPTkVOVCwgSWd4Q29tYm9CYXNlIH0gZnJvbSAnLi9jb21iby5jb21tb24nO1xuaW1wb3J0IHsgRGVmYXVsdFNvcnRpbmdTdHJhdGVneSB9IGZyb20gJy4uL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IElDb21ib0ZpbHRlcmluZ09wdGlvbnMgfSBmcm9tICcuL2NvbWJvLmNvbXBvbmVudCc7XG5cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnY29tYm9GaWx0ZXJpbmcnXG59KVxuZXhwb3J0IGNsYXNzIElneENvbWJvRmlsdGVyaW5nUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHB1YmxpYyB0cmFuc2Zvcm0oY29sbGVjdGlvbjogYW55W10sIHNlYXJjaFZhbHVlOiBhbnksIGRpc3BsYXlLZXk6IGFueSxcbiAgICAgICAgZmlsdGVyaW5nT3B0aW9uczogSUNvbWJvRmlsdGVyaW5nT3B0aW9ucywgc2hvdWxkRmlsdGVyID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKCFjb2xsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzZWFyY2hWYWx1ZSB8fCAhc2hvdWxkRmlsdGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaFRlcm0gPSBmaWx0ZXJpbmdPcHRpb25zLmNhc2VTZW5zaXRpdmUgPyBzZWFyY2hWYWx1ZS50cmltKCkgOiBzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgICAgICAgICAgIGlmIChkaXNwbGF5S2V5ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5maWx0ZXIoZSA9PiBmaWx0ZXJpbmdPcHRpb25zLmNhc2VTZW5zaXRpdmUgPyBlW2Rpc3BsYXlLZXldLmluY2x1ZGVzKHNlYXJjaFRlcm0pIDpcbiAgICAgICAgICAgICAgICAgICAgZVtkaXNwbGF5S2V5XS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5maWx0ZXIoZSA9PiBmaWx0ZXJpbmdPcHRpb25zLmNhc2VTZW5zaXRpdmUgPyBlLmluY2x1ZGVzKHNlYXJjaFRlcm0pIDpcbiAgICAgICAgICAgICAgICAgICAgZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdjb21ib0dyb3VwaW5nJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hDb21ib0dyb3VwaW5nUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChJR1hfQ09NQk9fQ09NUE9ORU5UKSBwdWJsaWMgY29tYm86IElneENvbWJvQmFzZSkgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IGFueVtdLCBncm91cEtleTogYW55LCB2YWx1ZUtleTogYW55KSB7XG4gICAgICAgIHRoaXMuY29tYm8uZmlsdGVyZWREYXRhID0gY29sbGVjdGlvbjtcbiAgICAgICAgaWYgKCghZ3JvdXBLZXkgJiYgZ3JvdXBLZXkgIT09IDApIHx8ICFjb2xsZWN0aW9uLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc29ydGVkID0gRGF0YVV0aWwuc29ydChjbG9uZUFycmF5KGNvbGxlY3Rpb24pLCBbe1xuICAgICAgICAgICAgZmllbGROYW1lOiBncm91cEtleSxcbiAgICAgICAgICAgIGRpcjogU29ydGluZ0RpcmVjdGlvbi5Bc2MsXG4gICAgICAgICAgICBpZ25vcmVDYXNlOiB0cnVlLFxuICAgICAgICAgICAgc3RyYXRlZ3k6IERlZmF1bHRTb3J0aW5nU3RyYXRlZ3kuaW5zdGFuY2UoKVxuICAgICAgICB9XSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBjbG9uZUFycmF5KHNvcnRlZCk7XG4gICAgICAgIGxldCBpbnNlcnRzID0gMDtcbiAgICAgICAgbGV0IGN1cnJlbnRIZWFkZXIgPSBudWxsO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNvcnRlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IGluc2VydEZsYWcgPSAwO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRIZWFkZXIgIT09IHNvcnRlZFtpXVtncm91cEtleV0pIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50SGVhZGVyID0gc29ydGVkW2ldW2dyb3VwS2V5XTtcbiAgICAgICAgICAgICAgICBpbnNlcnRGbGFnID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpbnNlcnRGbGFnKSB7XG4gICAgICAgICAgICAgICAgZGF0YS5zcGxpY2UoaSArIGluc2VydHMsIDAsIHtcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlS2V5XTogY3VycmVudEhlYWRlcixcbiAgICAgICAgICAgICAgICAgICAgW2dyb3VwS2V5XTogY3VycmVudEhlYWRlcixcbiAgICAgICAgICAgICAgICAgICAgaXNIZWFkZXI6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnNlcnRzKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxufVxuIl19
|
|
@@ -49,8 +49,7 @@ export class DataUtil {
|
|
|
49
49
|
};
|
|
50
50
|
return rec;
|
|
51
51
|
}
|
|
52
|
-
static group(data, state, grid = null, groupsRecords = [], fullResult = { data: [], metadata: [] }) {
|
|
53
|
-
const grouping = new IgxGrouping();
|
|
52
|
+
static group(data, state, grouping = new IgxGrouping(), grid = null, groupsRecords = [], fullResult = { data: [], metadata: [] }) {
|
|
54
53
|
groupsRecords.splice(0, groupsRecords.length);
|
|
55
54
|
return grouping.groupBy(data, state, grid, groupsRecords, fullResult);
|
|
56
55
|
}
|
|
@@ -200,4 +199,4 @@ export class DataUtil {
|
|
|
200
199
|
return result;
|
|
201
200
|
}
|
|
202
201
|
}
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBd0IsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbEQsT0FBTyxFQUFnQixXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU1yRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFlLGVBQWUsRUFBMkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzlEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsVUFBVTtJQUNwQixPQUFPLEVBQUUsU0FBUztDQUNyQixDQUFDLENBQUM7QUFHSDs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBSSxJQUFTLEVBQUUsV0FBaUMsRUFBRSxVQUFnQyxJQUFJLFVBQVUsRUFBRSxFQUNoSCxJQUFlO1FBQ2YsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFX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Q0FBQyxDQUFDOzZCQUNyQzt5QkFDSjt3QkFDRCxNQUFNO2lCQUNiO2FBQ0o7aUJBQU07Z0JBQ0gsMEVBQTBFO2dCQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNuQztTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBNEIsRUFBRSxLQUFVO1FBQzdELElBQUksUUFBUSxLQUFLLGtCQUFrQixDQUFDLE1BQU0sSUFBSSxRQUFRLEtBQUssa0JBQWtCLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7WUFDL0gsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBVyxFQUFFLFVBQWUsRUFBRSxZQUFpQixFQUFFLElBQVc7UUFDMUYsSUFBSSxVQUFVLEdBQVUsSUFBSSxDQUFDO1FBQzdCLElBQUksTUFBVyxDQUFDO1FBRWhCLEtBQUssTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ25CLE1BQU0sR0FBRyxVQUFVLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNULE1BQU07YUFDVDtZQUVELFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRmlsdGVyaW5nU3RhdGUgfSBmcm9tICcuL2ZpbHRlcmluZy1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBJZ3hTb3J0aW5nLCBJZ3hEYXRhUmVjb3JkU29ydGluZywgSUdyaWRTb3J0aW5nU3RyYXRlZ3kgfSBmcm9tICcuL3NvcnRpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgSWd4R3JvdXBpbmcgfSBmcm9tICcuL2dyb3VwaW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IElHcm91cEJ5UmVzdWx0IH0gZnJvbSAnLi9ncm91cGluZy1yZXN1bHQuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgSVBhZ2luZ1N0YXRlLCBQYWdpbmdFcnJvciB9IGZyb20gJy4vcGFnaW5nLXN0YXRlLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IElHcm91cEJ5S2V5IH0gZnJvbSAnLi9ncm91cGJ5LWV4cGFuZC1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuL2dyb3VwYnktcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJR3JvdXBpbmdTdGF0ZSB9IGZyb20gJy4vZ3JvdXBieS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVNvcnRpbmdFeHByZXNzaW9uIH0gZnJvbSAnLi9zb3J0aW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlcmluZ1N0cmF0ZWd5IH0gZnJvbSAnLi9maWx0ZXJpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgSVRyZWVHcmlkUmVjb3JkIH0gZnJvbSAnLi4vZ3JpZHMvdHJlZS1ncmlkL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgY2xvbmVWYWx1ZSwgbWVyZ2VPYmplY3RzLCBta2VudW0gfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblR5cGUsIEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgZ2V0SGllcmFyY2h5LCBpc0hpZXJhcmNoeU1hdGNoIH0gZnJvbSAnLi9vcGVyYXRpb25zJztcbmltcG9ydCB7IEdyaWRUeXBlIH0gZnJvbSAnLi4vZ3JpZHMvY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBHcmlkQ29sdW1uRGF0YVR5cGUgPSBta2VudW0oe1xuICAgIFN0cmluZzogJ3N0cmluZycsXG4gICAgTnVtYmVyOiAnbnVtYmVyJyxcbiAgICBCb29sZWFuOiAnYm9vbGVhbicsXG4gICAgRGF0ZTogJ2RhdGUnLFxuICAgIERhdGVUaW1lOiAnZGF0ZVRpbWUnLFxuICAgIFRpbWU6ICd0aW1lJyxcbiAgICBDdXJyZW5jeTogJ2N1cnJlbmN5JyxcbiAgICBQZXJjZW50OiAncGVyY2VudCdcbn0pO1xuZXhwb3J0IHR5cGUgR3JpZENvbHVtbkRhdGFUeXBlID0gKHR5cGVvZiBHcmlkQ29sdW1uRGF0YVR5cGUpW2tleW9mIHR5cGVvZiBHcmlkQ29sdW1uRGF0YVR5cGVdO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFVdGlsIHtcbiAgICBwdWJsaWMgc3RhdGljIHNvcnQ8VD4oZGF0YTogVFtdLCBleHByZXNzaW9uczogSVNvcnRpbmdFeHByZXNzaW9uW10sIHNvcnRpbmc6IElHcmlkU29ydGluZ1N0cmF0ZWd5ID0gbmV3IElneFNvcnRpbmcoKSxcbiAgICAgICAgZ3JpZD86IEdyaWRUeXBlKTogVFtdIHtcbiAgICAgICAgcmV0dXJuIHNvcnRpbmcuc29ydChkYXRhLCBleHByZXNzaW9ucywgZ3JpZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0cmVlR3JpZFNvcnQoaGllcmFyY2hpY2FsRGF0YTogSVRyZWVHcmlkUmVjb3JkW10sXG4gICAgICAgIGV4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXSxcbiAgICAgICAgc29ydGluZzogSUdyaWRTb3J0aW5nU3RyYXRlZ3kgPSBuZXcgSWd4RGF0YVJlY29yZFNvcnRpbmcoKSxcbiAgICAgICAgcGFyZW50PzogSVRyZWVHcmlkUmVjb3JkLFxuICAgICAgICBncmlkPzogR3JpZFR5cGUpOiBJVHJlZUdyaWRSZWNvcmRbXSB7XG4gICAgICAgIGxldCByZXM6IElUcmVlR3JpZFJlY29yZFtdID0gW107XG4gICAgICAgIGhpZXJhcmNoaWNhbERhdGEuZm9yRWFjaCgoaHI6IElUcmVlR3JpZFJlY29yZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjOiBJVHJlZUdyaWRSZWNvcmQgPSBEYXRhVXRpbC5jbG9uZVRyZWVHcmlkUmVjb3JkKGhyKTtcbiAgICAgICAgICAgIHJlYy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgICAgICBpZiAocmVjLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgcmVjLmNoaWxkcmVuID0gRGF0YVV0aWwudHJlZUdyaWRTb3J0KHJlYy5jaGlsZHJlbiwgZXhwcmVzc2lvbnMsIHNvcnRpbmcsIHJlYywgZ3JpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMucHVzaChyZWMpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXMgPSBEYXRhVXRpbC5zb3J0KHJlcywgZXhwcmVzc2lvbnMsIHNvcnRpbmcsIGdyaWQpO1xuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjbG9uZVRyZWVHcmlkUmVjb3JkKGhpZXJhcmNoaWNhbFJlY29yZDogSVRyZWVHcmlkUmVjb3JkKSB7XG4gICAgICAgIGNvbnN0IHJlYzogSVRyZWVHcmlkUmVjb3JkID0ge1xuICAgICAgICAgICAgcm93SUQ6IGhpZXJhcmNoaWNhbFJlY29yZC5yb3dJRCxcbiAgICAgICAgICAgIGRhdGE6IGhpZXJhcmNoaWNhbFJlY29yZC5kYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW46IGhpZXJhcmNoaWNhbFJlY29yZC5jaGlsZHJlbixcbiAgICAgICAgICAgIGlzRmlsdGVyZWRPdXRQYXJlbnQ6IGhpZXJhcmNoaWNhbFJlY29yZC5pc0ZpbHRlcmVkT3V0UGFyZW50LFxuICAgICAgICAgICAgbGV2ZWw6IGhpZXJhcmNoaWNhbFJlY29yZC5sZXZlbCxcbiAgICAgICAgICAgIGV4cGFuZGVkOiBoaWVyYXJjaGljYWxSZWNvcmQuZXhwYW5kZWRcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHJlYztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdyb3VwPFQ+KGRhdGE6IFRbXSwgc3RhdGU6IElHcm91cGluZ1N0YXRlLCBncmlkOiBHcmlkVHlwZSA9IG51bGwsXG4gICAgICAgIGdyb3Vwc1JlY29yZHM6IGFueVtdID0gW10sIGZ1bGxSZXN1bHQ6IElHcm91cEJ5UmVzdWx0ID0geyBkYXRhOiBbXSwgbWV0YWRhdGE6IFtdIH0pOiBJR3JvdXBCeVJlc3VsdCB7XG4gICAgICAgIGNvbnN0IGdyb3VwaW5nID0gbmV3IElneEdyb3VwaW5nKCk7XG4gICAgICAgIGdyb3Vwc1JlY29yZHMuc3BsaWNlKDAsIGdyb3Vwc1JlY29yZHMubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGdyb3VwaW5nLmdyb3VwQnkoZGF0YSwgc3RhdGUsIGdyaWQsIGdyb3Vwc1JlY29yZHMsIGZ1bGxSZXN1bHQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcGFnZTxUPihkYXRhOiBUW10sIHN0YXRlOiBJUGFnaW5nU3RhdGUsIGRhdGFMZW5ndGg/OiBudW1iZXIpOiBUW10ge1xuICAgICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW4gPSBkYXRhTGVuZ3RoICE9PSB1bmRlZmluZWQgPyBkYXRhTGVuZ3RoIDogZGF0YS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gc3RhdGUuaW5kZXg7XG4gICAgICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgICAgICBjb25zdCByZWNvcmRzUGVyUGFnZSA9IGRhdGFMZW5ndGggIT09IHVuZGVmaW5lZCAmJiBzdGF0ZS5yZWNvcmRzUGVyUGFnZSA+IGRhdGFMZW5ndGggPyBkYXRhTGVuZ3RoIDogc3RhdGUucmVjb3Jkc1BlclBhZ2U7XG4gICAgICAgIHN0YXRlLm1ldGFkYXRhID0ge1xuICAgICAgICAgICAgY291bnRQYWdlczogMCxcbiAgICAgICAgICAgIGNvdW50UmVjb3JkczogbGVuLFxuICAgICAgICAgICAgZXJyb3I6IFBhZ2luZ0Vycm9yLk5vbmVcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGluZGV4IDwgMCB8fCBpc05hTihpbmRleCkpIHtcbiAgICAgICAgICAgIHN0YXRlLm1ldGFkYXRhLmVycm9yID0gUGFnaW5nRXJyb3IuSW5jb3JyZWN0UGFnZUluZGV4O1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVjb3Jkc1BlclBhZ2UgPD0gMCB8fCBpc05hTihyZWNvcmRzUGVyUGFnZSkpIHtcbiAgICAgICAgICAgIHN0YXRlLm1ldGFkYXRhLmVycm9yID0gUGFnaW5nRXJyb3IuSW5jb3JyZWN0UmVjb3Jkc1BlclBhZ2U7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLm1ldGFkYXRhLmNvdW50UGFnZXMgPSBNYXRoLmNlaWwobGVuIC8gcmVjb3Jkc1BlclBhZ2UpO1xuICAgICAgICBpZiAoIWxlbikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID49IHN0YXRlLm1ldGFkYXRhLmNvdW50UGFnZXMpIHtcbiAgICAgICAgICAgIHN0YXRlLm1ldGFkYXRhLmVycm9yID0gUGFnaW5nRXJyb3IuSW5jb3JyZWN0UGFnZUluZGV4O1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YS5zbGljZShpbmRleCAqIHJlY29yZHNQZXJQYWdlLCAoaW5kZXggKyAxKSAqIHJlY29yZHNQZXJQYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZpbHRlcjxUPihkYXRhOiBUW10sIHN0YXRlOiBJRmlsdGVyaW5nU3RhdGUsIGdyaWQ/OiBHcmlkVHlwZSk6IFRbXSB7XG4gICAgICAgIGlmICghc3RhdGUuc3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIHN0YXRlLnN0cmF0ZWd5ID0gbmV3IEZpbHRlcmluZ1N0cmF0ZWd5KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0YXRlLnN0cmF0ZWd5LmZpbHRlcihkYXRhLCBzdGF0ZS5leHByZXNzaW9uc1RyZWUsIHN0YXRlLmFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlLCBncmlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNvcnJlY3RQYWdpbmdTdGF0ZShzdGF0ZTogSVBhZ2luZ1N0YXRlLCBsZW5ndGg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBtYXhQYWdlID0gTWF0aC5jZWlsKGxlbmd0aCAvIHN0YXRlLnJlY29yZHNQZXJQYWdlKSAtIDE7XG4gICAgICAgIGlmICghaXNOYU4obWF4UGFnZSkgJiYgc3RhdGUuaW5kZXggPiBtYXhQYWdlKSB7XG4gICAgICAgICAgICBzdGF0ZS5pbmRleCA9IG1heFBhZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEhpZXJhcmNoeShnUm93OiBJR3JvdXBCeVJlY29yZCk6IEFycmF5PElHcm91cEJ5S2V5PiB7XG4gICAgICAgIHJldHVybiBnZXRIaWVyYXJjaHkoZ1Jvdyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0hpZXJhcmNoeU1hdGNoKGgxOiBBcnJheTxJR3JvdXBCeUtleT4sIGgyOiBBcnJheTxJR3JvdXBCeUtleT4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzSGllcmFyY2h5TWF0Y2goaDEsIGgyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXJnZXMgYWxsIGNoYW5nZXMgZnJvbSBwcm92aWRlZCB0cmFuc2FjdGlvbnMgaW50byBwcm92aWRlZCBkYXRhIGNvbGxlY3Rpb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhIENvbGxlY3Rpb24gdG8gbWVyZ2VcbiAgICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIFRyYW5zYWN0aW9ucyB0byBtZXJnZSBpbnRvIGRhdGFcbiAgICAgKiBAcGFyYW0gcHJpbWFyeUtleSBQcmltYXJ5IGtleSBvZiB0aGUgY29sbGVjdGlvbiwgaWYgYW55XG4gICAgICogQHBhcmFtIGRlbGV0ZVJvd3MgU2hvdWxkIGRlbGV0ZSByb3dzIHdpdGggREVMRVRFIHRyYW5zYWN0aW9uIHR5cGUgZnJvbSBkYXRhXG4gICAgICogQHJldHVybnMgUHJvdmlkZWQgZGF0YSBjb2xsZWN0aW9ucyB1cGRhdGVkIHdpdGggYWxsIHByb3ZpZGVkIHRyYW5zYWN0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWVyZ2VUcmFuc2FjdGlvbnM8VD4oZGF0YTogVFtdLCB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10sIHByaW1hcnlLZXk/OiBhbnksIGRlbGV0ZVJvd3M6IGJvb2xlYW4gPSBmYWxzZSk6IFRbXSB7XG4gICAgICAgIGRhdGEuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb3dJZCA9IHByaW1hcnlLZXkgPyBpdGVtW3ByaW1hcnlLZXldIDogaXRlbTtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb25zLmZpbmQodCA9PiB0LmlkID09PSByb3dJZCk7XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24gJiYgdHJhbnNhY3Rpb24udHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlVQREFURSkge1xuICAgICAgICAgICAgICAgIGRhdGFbaW5kZXhdID0gdHJhbnNhY3Rpb24ubmV3VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChkZWxldGVSb3dzKSB7XG4gICAgICAgICAgICB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHQgPT4gdC50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuREVMRVRFKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHByaW1hcnlLZXkgPyBkYXRhLmZpbmRJbmRleChkID0+IGRbcHJpbWFyeUtleV0gPT09IHQuaWQpIDogZGF0YS5maW5kSW5kZXgoZCA9PiBkID09PSB0LmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKDAgPD0gaW5kZXggJiYgaW5kZXggPCBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhLnB1c2goLi4udHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKHQgPT4gdC50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuQUREKVxuICAgICAgICAgICAgLm1hcCh0ID0+IHQubmV3VmFsdWUpKTtcblxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXJnZXMgYWxsIGNoYW5nZXMgZnJvbSBwcm92aWRlZCB0cmFuc2FjdGlvbnMgaW50byBwcm92aWRlZCBoaWVyYXJjaGljYWwgZGF0YSBjb2xsZWN0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSBDb2xsZWN0aW9uIHRvIG1lcmdlXG4gICAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBUcmFuc2FjdGlvbnMgdG8gbWVyZ2UgaW50byBkYXRhXG4gICAgICogQHBhcmFtIGNoaWxkRGF0YUtleSBEYXRhIGtleSBvZiBjaGlsZCBjb2xsZWN0aW9uc1xuICAgICAqIEBwYXJhbSBwcmltYXJ5S2V5IFByaW1hcnkga2V5IG9mIHRoZSBjb2xsZWN0aW9uLCBpZiBhbnlcbiAgICAgKiBAcGFyYW0gZGVsZXRlUm93cyBTaG91bGQgZGVsZXRlIHJvd3Mgd2l0aCBERUxFVEUgdHJhbnNhY3Rpb24gdHlwZSBmcm9tIGRhdGFcbiAgICAgKiBAcmV0dXJucyBQcm92aWRlZCBkYXRhIGNvbGxlY3Rpb25zIHVwZGF0ZWQgd2l0aCBhbGwgcHJvdmlkZWQgdHJhbnNhY3Rpb25zXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtZXJnZUhpZXJhcmNoaWNhbFRyYW5zYWN0aW9ucyhcbiAgICAgICAgZGF0YTogYW55W10sXG4gICAgICAgIHRyYW5zYWN0aW9uczogSGllcmFyY2hpY2FsVHJhbnNhY3Rpb25bXSxcbiAgICAgICAgY2hpbGREYXRhS2V5OiBhbnksXG4gICAgICAgIHByaW1hcnlLZXk/OiBhbnksXG4gICAgICAgIGRlbGV0ZVJvd3M6IGJvb2xlYW4gPSBmYWxzZSk6IGFueVtdIHtcbiAgICAgICAgZm9yIChjb25zdCB0cmFuc2FjdGlvbiBvZiB0cmFuc2FjdGlvbnMpIHtcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5wYXRoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5maW5kUGFyZW50RnJvbVBhdGgoZGF0YSwgcHJpbWFyeUtleSwgY2hpbGREYXRhS2V5LCB0cmFuc2FjdGlvbi5wYXRoKTtcbiAgICAgICAgICAgICAgICBsZXQgY29sbGVjdGlvbjogYW55W10gPSBwYXJlbnQgPyBwYXJlbnRbY2hpbGREYXRhS2V5XSA6IGRhdGE7XG4gICAgICAgICAgICAgICAgc3dpdGNoICh0cmFuc2FjdGlvbi50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFERDpcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICBpZiB0aGVyZSBpcyBubyBwYXJlbnQgdGhpcyBpcyBBREQgcm93IGF0IHJvb3QgbGV2ZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnQgJiYgIXBhcmVudFtjaGlsZERhdGFLZXldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50W2NoaWxkRGF0YUtleV0gPSBjb2xsZWN0aW9uID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLnB1c2godHJhbnNhY3Rpb24ubmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlVQREFURTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgoeCA9PiB4W3ByaW1hcnlLZXldID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodXBkYXRlSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblt1cGRhdGVJbmRleF0gPSBtZXJnZU9iamVjdHMoY2xvbmVWYWx1ZShjb2xsZWN0aW9uW3VwZGF0ZUluZGV4XSksIHRyYW5zYWN0aW9uLm5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5ERUxFVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVsZXRlUm93cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbGV0ZUluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgociA9PiByW3ByaW1hcnlLZXldID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbGV0ZUluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLnNwbGljZShkZWxldGVJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyAgaWYgdGhlcmUgaXMgbm8gcGF0aCB0aGlzIGlzIEFERCByb3cgaW4gcm9vdC4gUHVzaCB0aGUgbmV3VmFsdWUgdG8gZGF0YVxuICAgICAgICAgICAgICAgIGRhdGEucHVzaCh0cmFuc2FjdGlvbi5uZXdWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBwYXJzZVZhbHVlKGRhdGFUeXBlOiBHcmlkQ29sdW1uRGF0YVR5cGUsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoZGF0YVR5cGUgPT09IEdyaWRDb2x1bW5EYXRhVHlwZS5OdW1iZXIgfHwgZGF0YVR5cGUgPT09IEdyaWRDb2x1bW5EYXRhVHlwZS5DdXJyZW5jeSB8fCBkYXRhVHlwZSA9PT0gR3JpZENvbHVtbkRhdGFUeXBlLlBlcmNlbnQpIHtcbiAgICAgICAgICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZmluZFBhcmVudEZyb21QYXRoKGRhdGE6IGFueVtdLCBwcmltYXJ5S2V5OiBhbnksIGNoaWxkRGF0YUtleTogYW55LCBwYXRoOiBhbnlbXSk6IGFueSB7XG4gICAgICAgIGxldCBjb2xsZWN0aW9uOiBhbnlbXSA9IGRhdGE7XG4gICAgICAgIGxldCByZXN1bHQ6IGFueTtcblxuICAgICAgICBmb3IgKGNvbnN0IGlkIG9mIHBhdGgpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGNvbGxlY3Rpb24gJiYgY29sbGVjdGlvbi5maW5kKHggPT4geFtwcmltYXJ5S2V5XSA9PT0gaWQpO1xuICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29sbGVjdGlvbiA9IHJlc3VsdFtjaGlsZERhdGFLZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBd0IsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbEQsT0FBTyxFQUFnQixXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU1yRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFlLGVBQWUsRUFBMkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzlEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsVUFBVTtJQUNwQixPQUFPLEVBQUUsU0FBUztDQUNyQixDQUFDLENBQUM7QUFHSDs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBSSxJQUFTLEVBQUUsV0FBaUMsRUFBRSxVQUFnQyxJQUFJLFVBQVUsRUFBRSxFQUNoSCxJQUFlO1FBQ2YsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFX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Qzt5QkFDSjt3QkFDRCxNQUFNO2lCQUNiO2FBQ0o7aUJBQU07Z0JBQ0gsMEVBQTBFO2dCQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNuQztTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBNEIsRUFBRSxLQUFVO1FBQzdELElBQUksUUFBUSxLQUFLLGtCQUFrQixDQUFDLE1BQU0sSUFBSSxRQUFRLEtBQUssa0JBQWtCLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7WUFDL0gsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBVyxFQUFFLFVBQWUsRUFBRSxZQUFpQixFQUFFLElBQVc7UUFDMUYsSUFBSSxVQUFVLEdBQVUsSUFBSSxDQUFDO1FBQzdCLElBQUksTUFBVyxDQUFDO1FBRWhCLEtBQUssTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ25CLE1BQU0sR0FBRyxVQUFVLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNULE1BQU07YUFDVDtZQUVELFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRmlsdGVyaW5nU3RhdGUgfSBmcm9tICcuL2ZpbHRlcmluZy1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBJZ3hTb3J0aW5nLCBJZ3hEYXRhUmVjb3JkU29ydGluZywgSUdyaWRTb3J0aW5nU3RyYXRlZ3kgfSBmcm9tICcuL3NvcnRpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgSWd4R3JvdXBpbmcgfSBmcm9tICcuL2dyb3VwaW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IElHcm91cEJ5UmVzdWx0IH0gZnJvbSAnLi9ncm91cGluZy1yZXN1bHQuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgSVBhZ2luZ1N0YXRlLCBQYWdpbmdFcnJvciB9IGZyb20gJy4vcGFnaW5nLXN0YXRlLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IElHcm91cEJ5S2V5IH0gZnJvbSAnLi9ncm91cGJ5LWV4cGFuZC1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuL2dyb3VwYnktcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJR3JvdXBpbmdTdGF0ZSB9IGZyb20gJy4vZ3JvdXBieS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVNvcnRpbmdFeHByZXNzaW9uIH0gZnJvbSAnLi9zb3J0aW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlcmluZ1N0cmF0ZWd5IH0gZnJvbSAnLi9maWx0ZXJpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgSUdyaWRHcm91cGluZ1N0cmF0ZWd5IH0gZnJvbSAnLi9ncm91cGluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBJVHJlZUdyaWRSZWNvcmQgfSBmcm9tICcuLi9ncmlkcy90cmVlLWdyaWQvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBjbG9uZVZhbHVlLCBtZXJnZU9iamVjdHMsIG1rZW51bSB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uVHlwZSwgSGllcmFyY2hpY2FsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBnZXRIaWVyYXJjaHksIGlzSGllcmFyY2h5TWF0Y2ggfSBmcm9tICcuL29wZXJhdGlvbnMnO1xuaW1wb3J0IHsgR3JpZFR5cGUgfSBmcm9tICcuLi9ncmlkcy9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNvbnN0IEdyaWRDb2x1bW5EYXRhVHlwZSA9IG1rZW51bSh7XG4gICAgU3RyaW5nOiAnc3RyaW5nJyxcbiAgICBOdW1iZXI6ICdudW1iZXInLFxuICAgIEJvb2xlYW46ICdib29sZWFuJyxcbiAgICBEYXRlOiAnZGF0ZScsXG4gICAgRGF0ZVRpbWU6ICdkYXRlVGltZScsXG4gICAgVGltZTogJ3RpbWUnLFxuICAgIEN1cnJlbmN5OiAnY3VycmVuY3knLFxuICAgIFBlcmNlbnQ6ICdwZXJjZW50J1xufSk7XG5leHBvcnQgdHlwZSBHcmlkQ29sdW1uRGF0YVR5cGUgPSAodHlwZW9mIEdyaWRDb2x1bW5EYXRhVHlwZSlba2V5b2YgdHlwZW9mIEdyaWRDb2x1bW5EYXRhVHlwZV07XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgY2xhc3MgRGF0YVV0aWwge1xuICAgIHB1YmxpYyBzdGF0aWMgc29ydDxUPihkYXRhOiBUW10sIGV4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXSwgc29ydGluZzogSUdyaWRTb3J0aW5nU3RyYXRlZ3kgPSBuZXcgSWd4U29ydGluZygpLFxuICAgICAgICBncmlkPzogR3JpZFR5cGUpOiBUW10ge1xuICAgICAgICByZXR1cm4gc29ydGluZy5zb3J0KGRhdGEsIGV4cHJlc3Npb25zLCBncmlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHRyZWVHcmlkU29ydChoaWVyYXJjaGljYWxEYXRhOiBJVHJlZUdyaWRSZWNvcmRbXSxcbiAgICAgICAgZXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdLFxuICAgICAgICBzb3J0aW5nOiBJR3JpZFNvcnRpbmdTdHJhdGVneSA9IG5ldyBJZ3hEYXRhUmVjb3JkU29ydGluZygpLFxuICAgICAgICBwYXJlbnQ/OiBJVHJlZUdyaWRSZWNvcmQsXG4gICAgICAgIGdyaWQ/OiBHcmlkVHlwZSk6IElUcmVlR3JpZFJlY29yZFtdIHtcbiAgICAgICAgbGV0IHJlczogSVRyZWVHcmlkUmVjb3JkW10gPSBbXTtcbiAgICAgICAgaGllcmFyY2hpY2FsRGF0YS5mb3JFYWNoKChocjogSVRyZWVHcmlkUmVjb3JkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWM6IElUcmVlR3JpZFJlY29yZCA9IERhdGFVdGlsLmNsb25lVHJlZUdyaWRSZWNvcmQoaHIpO1xuICAgICAgICAgICAgcmVjLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgICAgIGlmIChyZWMuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICByZWMuY2hpbGRyZW4gPSBEYXRhVXRpbC50cmVlR3JpZFNvcnQocmVjLmNoaWxkcmVuLCBleHByZXNzaW9ucywgc29ydGluZywgcmVjLCBncmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlcy5wdXNoKHJlYyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlcyA9IERhdGFVdGlsLnNvcnQocmVzLCBleHByZXNzaW9ucywgc29ydGluZywgZ3JpZCk7XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNsb25lVHJlZUdyaWRSZWNvcmQoaGllcmFyY2hpY2FsUmVjb3JkOiBJVHJlZUdyaWRSZWNvcmQpIHtcbiAgICAgICAgY29uc3QgcmVjOiBJVHJlZUdyaWRSZWNvcmQgPSB7XG4gICAgICAgICAgICByb3dJRDogaGllcmFyY2hpY2FsUmVjb3JkLnJvd0lELFxuICAgICAgICAgICAgZGF0YTogaGllcmFyY2hpY2FsUmVjb3JkLmRhdGEsXG4gICAgICAgICAgICBjaGlsZHJlbjogaGllcmFyY2hpY2FsUmVjb3JkLmNoaWxkcmVuLFxuICAgICAgICAgICAgaXNGaWx0ZXJlZE91dFBhcmVudDogaGllcmFyY2hpY2FsUmVjb3JkLmlzRmlsdGVyZWRPdXRQYXJlbnQsXG4gICAgICAgICAgICBsZXZlbDogaGllcmFyY2hpY2FsUmVjb3JkLmxldmVsLFxuICAgICAgICAgICAgZXhwYW5kZWQ6IGhpZXJhcmNoaWNhbFJlY29yZC5leHBhbmRlZFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmVjO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ3JvdXA8VD4oZGF0YTogVFtdLCBzdGF0ZTogSUdyb3VwaW5nU3RhdGUsIGdyb3VwaW5nOiBJR3JpZEdyb3VwaW5nU3RyYXRlZ3kgPSBuZXcgSWd4R3JvdXBpbmcoKSwgZ3JpZDogR3JpZFR5cGUgPSBudWxsLFxuICAgICAgICBncm91cHNSZWNvcmRzOiBhbnlbXSA9IFtdLCBmdWxsUmVzdWx0OiBJR3JvdXBCeVJlc3VsdCA9IHsgZGF0YTogW10sIG1ldGFkYXRhOiBbXSB9KTogSUdyb3VwQnlSZXN1bHQge1xuICAgICAgICBncm91cHNSZWNvcmRzLnNwbGljZSgwLCBncm91cHNSZWNvcmRzLmxlbmd0aCk7XG4gICAgICAgIHJldHVybiBncm91cGluZy5ncm91cEJ5KGRhdGEsIHN0YXRlLCBncmlkLCBncm91cHNSZWNvcmRzLCBmdWxsUmVzdWx0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHBhZ2U8VD4oZGF0YTogVFtdLCBzdGF0ZTogSVBhZ2luZ1N0YXRlLCBkYXRhTGVuZ3RoPzogbnVtYmVyKTogVFtdIHtcbiAgICAgICAgaWYgKCFzdGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGVuID0gZGF0YUxlbmd0aCAhPT0gdW5kZWZpbmVkID8gZGF0YUxlbmd0aCA6IGRhdGEubGVuZ3RoO1xuICAgICAgICBjb25zdCBpbmRleCA9IHN0YXRlLmluZGV4O1xuICAgICAgICBjb25zdCByZXMgPSBbXTtcbiAgICAgICAgY29uc3QgcmVjb3Jkc1BlclBhZ2UgPSBkYXRhTGVuZ3RoICE9PSB1bmRlZmluZWQgJiYgc3RhdGUucmVjb3Jkc1BlclBhZ2UgPiBkYXRhTGVuZ3RoID8gZGF0YUxlbmd0aCA6IHN0YXRlLnJlY29yZHNQZXJQYWdlO1xuICAgICAgICBzdGF0ZS5tZXRhZGF0YSA9IHtcbiAgICAgICAgICAgIGNvdW50UGFnZXM6IDAsXG4gICAgICAgICAgICBjb3VudFJlY29yZHM6IGxlbixcbiAgICAgICAgICAgIGVycm9yOiBQYWdpbmdFcnJvci5Ob25lXG4gICAgICAgIH07XG4gICAgICAgIGlmIChpbmRleCA8IDAgfHwgaXNOYU4oaW5kZXgpKSB7XG4gICAgICAgICAgICBzdGF0ZS5tZXRhZGF0YS5lcnJvciA9IFBhZ2luZ0Vycm9yLkluY29ycmVjdFBhZ2VJbmRleDtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlY29yZHNQZXJQYWdlIDw9IDAgfHwgaXNOYU4ocmVjb3Jkc1BlclBhZ2UpKSB7XG4gICAgICAgICAgICBzdGF0ZS5tZXRhZGF0YS5lcnJvciA9IFBhZ2luZ0Vycm9yLkluY29ycmVjdFJlY29yZHNQZXJQYWdlO1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfVxuICAgICAgICBzdGF0ZS5tZXRhZGF0YS5jb3VudFBhZ2VzID0gTWF0aC5jZWlsKGxlbiAvIHJlY29yZHNQZXJQYWdlKTtcbiAgICAgICAgaWYgKCFsZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA+PSBzdGF0ZS5tZXRhZGF0YS5jb3VudFBhZ2VzKSB7XG4gICAgICAgICAgICBzdGF0ZS5tZXRhZGF0YS5lcnJvciA9IFBhZ2luZ0Vycm9yLkluY29ycmVjdFBhZ2VJbmRleDtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGEuc2xpY2UoaW5kZXggKiByZWNvcmRzUGVyUGFnZSwgKGluZGV4ICsgMSkgKiByZWNvcmRzUGVyUGFnZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmaWx0ZXI8VD4oZGF0YTogVFtdLCBzdGF0ZTogSUZpbHRlcmluZ1N0YXRlLCBncmlkPzogR3JpZFR5cGUpOiBUW10ge1xuICAgICAgICBpZiAoIXN0YXRlLnN0cmF0ZWd5KSB7XG4gICAgICAgICAgICBzdGF0ZS5zdHJhdGVneSA9IG5ldyBGaWx0ZXJpbmdTdHJhdGVneSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdGF0ZS5zdHJhdGVneS5maWx0ZXIoZGF0YSwgc3RhdGUuZXhwcmVzc2lvbnNUcmVlLCBzdGF0ZS5hZHZhbmNlZEV4cHJlc3Npb25zVHJlZSwgZ3JpZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjb3JyZWN0UGFnaW5nU3RhdGUoc3RhdGU6IElQYWdpbmdTdGF0ZSwgbGVuZ3RoOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgbWF4UGFnZSA9IE1hdGguY2VpbChsZW5ndGggLyBzdGF0ZS5yZWNvcmRzUGVyUGFnZSkgLSAxO1xuICAgICAgICBpZiAoIWlzTmFOKG1heFBhZ2UpICYmIHN0YXRlLmluZGV4ID4gbWF4UGFnZSkge1xuICAgICAgICAgICAgc3RhdGUuaW5kZXggPSBtYXhQYWdlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRIaWVyYXJjaHkoZ1JvdzogSUdyb3VwQnlSZWNvcmQpOiBBcnJheTxJR3JvdXBCeUtleT4ge1xuICAgICAgICByZXR1cm4gZ2V0SGllcmFyY2h5KGdSb3cpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaXNIaWVyYXJjaHlNYXRjaChoMTogQXJyYXk8SUdyb3VwQnlLZXk+LCBoMjogQXJyYXk8SUdyb3VwQnlLZXk+KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc0hpZXJhcmNoeU1hdGNoKGgxLCBoMik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVyZ2VzIGFsbCBjaGFuZ2VzIGZyb20gcHJvdmlkZWQgdHJhbnNhY3Rpb25zIGludG8gcHJvdmlkZWQgZGF0YSBjb2xsZWN0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSBDb2xsZWN0aW9uIHRvIG1lcmdlXG4gICAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBUcmFuc2FjdGlvbnMgdG8gbWVyZ2UgaW50byBkYXRhXG4gICAgICogQHBhcmFtIHByaW1hcnlLZXkgUHJpbWFyeSBrZXkgb2YgdGhlIGNvbGxlY3Rpb24sIGlmIGFueVxuICAgICAqIEBwYXJhbSBkZWxldGVSb3dzIFNob3VsZCBkZWxldGUgcm93cyB3aXRoIERFTEVURSB0cmFuc2FjdGlvbiB0eXBlIGZyb20gZGF0YVxuICAgICAqIEByZXR1cm5zIFByb3ZpZGVkIGRhdGEgY29sbGVjdGlvbnMgdXBkYXRlZCB3aXRoIGFsbCBwcm92aWRlZCB0cmFuc2FjdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1lcmdlVHJhbnNhY3Rpb25zPFQ+KGRhdGE6IFRbXSwgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdLCBwcmltYXJ5S2V5PzogYW55LCBkZWxldGVSb3dzOiBib29sZWFuID0gZmFsc2UpOiBUW10ge1xuICAgICAgICBkYXRhLmZvckVhY2goKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgcm93SWQgPSBwcmltYXJ5S2V5ID8gaXRlbVtwcmltYXJ5S2V5XSA6IGl0ZW07XG4gICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9ucy5maW5kKHQgPT4gdC5pZCA9PT0gcm93SWQpO1xuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uICYmIHRyYW5zYWN0aW9uLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5VUERBVEUpIHtcbiAgICAgICAgICAgICAgICBkYXRhW2luZGV4XSA9IHRyYW5zYWN0aW9uLm5ld1ZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoZGVsZXRlUm93cykge1xuICAgICAgICAgICAgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAgICAgLmZpbHRlcih0ID0+IHQudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkRFTEVURSlcbiAgICAgICAgICAgICAgICAuZm9yRWFjaCh0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwcmltYXJ5S2V5ID8gZGF0YS5maW5kSW5kZXgoZCA9PiBkW3ByaW1hcnlLZXldID09PSB0LmlkKSA6IGRhdGEuZmluZEluZGV4KGQgPT4gZCA9PT0gdC5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICgwIDw9IGluZGV4ICYmIGluZGV4IDwgZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZGF0YS5wdXNoKC4uLnRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcih0ID0+IHQudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFERClcbiAgICAgICAgICAgIC5tYXAodCA9PiB0Lm5ld1ZhbHVlKSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVyZ2VzIGFsbCBjaGFuZ2VzIGZyb20gcHJvdmlkZWQgdHJhbnNhY3Rpb25zIGludG8gcHJvdmlkZWQgaGllcmFyY2hpY2FsIGRhdGEgY29sbGVjdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEgQ29sbGVjdGlvbiB0byBtZXJnZVxuICAgICAqIEBwYXJhbSB0cmFuc2FjdGlvbnMgVHJhbnNhY3Rpb25zIHRvIG1lcmdlIGludG8gZGF0YVxuICAgICAqIEBwYXJhbSBjaGlsZERhdGFLZXkgRGF0YSBrZXkgb2YgY2hpbGQgY29sbGVjdGlvbnNcbiAgICAgKiBAcGFyYW0gcHJpbWFyeUtleSBQcmltYXJ5IGtleSBvZiB0aGUgY29sbGVjdGlvbiwgaWYgYW55XG4gICAgICogQHBhcmFtIGRlbGV0ZVJvd3MgU2hvdWxkIGRlbGV0ZSByb3dzIHdpdGggREVMRVRFIHRyYW5zYWN0aW9uIHR5cGUgZnJvbSBkYXRhXG4gICAgICogQHJldHVybnMgUHJvdmlkZWQgZGF0YSBjb2xsZWN0aW9ucyB1cGRhdGVkIHdpdGggYWxsIHByb3ZpZGVkIHRyYW5zYWN0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWVyZ2VIaWVyYXJjaGljYWxUcmFuc2FjdGlvbnMoXG4gICAgICAgIGRhdGE6IGFueVtdLFxuICAgICAgICB0cmFuc2FjdGlvbnM6IEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uW10sXG4gICAgICAgIGNoaWxkRGF0YUtleTogYW55LFxuICAgICAgICBwcmltYXJ5S2V5PzogYW55LFxuICAgICAgICBkZWxldGVSb3dzOiBib29sZWFuID0gZmFsc2UpOiBhbnlbXSB7XG4gICAgICAgIGZvciAoY29uc3QgdHJhbnNhY3Rpb24gb2YgdHJhbnNhY3Rpb25zKSB7XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24ucGF0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZmluZFBhcmVudEZyb21QYXRoKGRhdGEsIHByaW1hcnlLZXksIGNoaWxkRGF0YUtleSwgdHJhbnNhY3Rpb24ucGF0aCk7XG4gICAgICAgICAgICAgICAgbGV0IGNvbGxlY3Rpb246IGFueVtdID0gcGFyZW50ID8gcGFyZW50W2NoaWxkRGF0YUtleV0gOiBkYXRhO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodHJhbnNhY3Rpb24udHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BREQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgaWYgdGhlcmUgaXMgbm8gcGFyZW50IHRoaXMgaXMgQUREIHJvdyBhdCByb290IGxldmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50ICYmICFwYXJlbnRbY2hpbGREYXRhS2V5XSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFtjaGlsZERhdGFLZXldID0gY29sbGVjdGlvbiA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbi5wdXNoKHRyYW5zYWN0aW9uLm5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5VUERBVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJbmRleCA9IGNvbGxlY3Rpb24uZmluZEluZGV4KHggPT4geFtwcmltYXJ5S2V5XSA9PT0gdHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVwZGF0ZUluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25bdXBkYXRlSW5kZXhdID0gbWVyZ2VPYmplY3RzKGNsb25lVmFsdWUoY29sbGVjdGlvblt1cGRhdGVJbmRleF0pLCB0cmFuc2FjdGlvbi5uZXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuREVMRVRFOlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbGV0ZVJvd3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWxldGVJbmRleCA9IGNvbGxlY3Rpb24uZmluZEluZGV4KHIgPT4gcltwcmltYXJ5S2V5XSA9PT0gdHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWxldGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbi5zcGxpY2UoZGVsZXRlSW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gIGlmIHRoZXJlIGlzIG5vIHBhdGggdGhpcyBpcyBBREQgcm93IGluIHJvb3QuIFB1c2ggdGhlIG5ld1ZhbHVlIHRvIGRhdGFcbiAgICAgICAgICAgICAgICBkYXRhLnB1c2godHJhbnNhY3Rpb24ubmV3VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcGFyc2VWYWx1ZShkYXRhVHlwZTogR3JpZENvbHVtbkRhdGFUeXBlLCB2YWx1ZTogYW55KTogYW55IHtcbiAgICAgICAgaWYgKGRhdGFUeXBlID09PSBHcmlkQ29sdW1uRGF0YVR5cGUuTnVtYmVyIHx8IGRhdGFUeXBlID09PSBHcmlkQ29sdW1uRGF0YVR5cGUuQ3VycmVuY3kgfHwgZGF0YVR5cGUgPT09IEdyaWRDb2x1bW5EYXRhVHlwZS5QZXJjZW50KSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZpbmRQYXJlbnRGcm9tUGF0aChkYXRhOiBhbnlbXSwgcHJpbWFyeUtleTogYW55LCBjaGlsZERhdGFLZXk6IGFueSwgcGF0aDogYW55W10pOiBhbnkge1xuICAgICAgICBsZXQgY29sbGVjdGlvbjogYW55W10gPSBkYXRhO1xuICAgICAgICBsZXQgcmVzdWx0OiBhbnk7XG5cbiAgICAgICAgZm9yIChjb25zdCBpZCBvZiBwYXRoKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBjb2xsZWN0aW9uICYmIGNvbGxlY3Rpb24uZmluZCh4ID0+IHhbcHJpbWFyeUtleV0gPT09IGlkKTtcbiAgICAgICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbGxlY3Rpb24gPSByZXN1bHRbY2hpbGREYXRhS2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
|
|
@@ -9,4 +9,4 @@ export class IgxGrouping extends IgxSorting {
|
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBpbmctc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQXdCLE1BQU0sb0JBQW9CLENBQUM7QUFTdEUsTUFBTSxPQUFPLFdBQVksU0FBUSxVQUFVO0lBQ2hDLE9BQU8sQ0FBQyxJQUFXLEVBQUUsS0FBcUIsRUFBRSxJQUFVLEVBQ3pELGFBQXFCLEVBQUUsYUFBNkIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7UUFDOUUsTUFBTSxRQUFRLEdBQXFCLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFHLE9BQU87WUFDSCxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVE7U0FDWCxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuL2dyb3VwYnktcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJZ3hTb3J0aW5nLCBJR3JpZFNvcnRpbmdTdHJhdGVneSB9IGZyb20gJy4vc29ydGluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBJR3JvdXBpbmdTdGF0ZSB9IGZyb20gJy4vZ3JvdXBieS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUdyb3VwQnlSZXN1bHQgfSBmcm9tICcuL2dyb3VwaW5nLXJlc3VsdC5pbnRlcmZhY2UnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRHcm91cGluZ1N0cmF0ZWd5IGV4dGVuZHMgSUdyaWRTb3J0aW5nU3RyYXRlZ3kge1xuICAgIGdyb3VwQnkoZGF0YTogYW55W10sIHN0YXRlOiBJR3JvdXBpbmdTdGF0ZSwgZ3JpZD86IGFueSwgZ3JvdXBzUmVjb3Jkcz86IGFueVtdLCBmdWxsUmVzdWx0PzogSUdyb3VwQnlSZXN1bHQpOiBJR3JvdXBCeVJlc3VsdDtcbn1cblxuZXhwb3J0IGNsYXNzIElneEdyb3VwaW5nIGV4dGVuZHMgSWd4U29ydGluZyBpbXBsZW1lbnRzIElHcmlkR3JvdXBpbmdTdHJhdGVneSB7XG4gICAgcHVibGljIGdyb3VwQnkoZGF0YTogYW55W10sIHN0YXRlOiBJR3JvdXBpbmdTdGF0ZSwgZ3JpZD86IGFueSxcbiAgICAgICAgZ3JvdXBzUmVjb3Jkcz86IGFueVtdLCBmdWxsUmVzdWx0OiBJR3JvdXBCeVJlc3VsdCA9IHsgZGF0YTogW10sIG1ldGFkYXRhOiBbXSB9KTogSUdyb3VwQnlSZXN1bHQge1xuICAgICAgICBjb25zdCBtZXRhZGF0YTogSUdyb3VwQnlSZWNvcmRbXSA9IFtdO1xuICAgICAgICBjb25zdCBncm91cGluZyA9IHRoaXMuZ3JvdXBEYXRhUmVjdXJzaXZlKGRhdGEsIHN0YXRlLCAwLCBudWxsLCBtZXRhZGF0YSwgZ3JpZCwgZ3JvdXBzUmVjb3JkcywgZnVsbFJlc3VsdCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhOiBncm91cGluZyxcbiAgICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgIH07XG4gICAgfVxufVxuXG4iXX0=
|